gnustep-dev
[Top][All Lists]
Advanced

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

Re: project goal Re: Release schedule


From: Nicolas Roard
Subject: Re: project goal Re: Release schedule
Date: Sat, 05 Apr 2003 18:16:25 +0100

On 2003-04-05 11:40:17 +0000 Helge Hess <address@hidden> wrote:

Hello,

b) this point is a bit more difficult to explain. Does Cocoa add instability ? 
Yes ! Because GNUstep has *extremly* limited developer resources. So it's very 
important to focus on a project which actually can be accomplished in good 
quality using the given resources. For example if Nicola would have invested 
the same time in gnustep-gui like in Renaissance, GNUstep GUI itself would have 
probably much further now ! Now we have a good Renaissance on MacOSX (which I 
like ;-), and a lacking one on Linux because gnustep-gui is simply not stable.

Well, I think that what most people want to say when they tell "coco add 
instability"
is that, if you focus on OpenStep API, you focus on a "stable" API. If you focus
on Cocoa, you are lagging behind Apple (same problem as the Wine project).
I don't think people here were talking about the limited range of developer rsc.
IMHO, they are partly right (we *could* be in the same situation as Wine),
but I don't think there is too much differences between current cocoa and 
current
gnustep -- and a compatibility with cocoa whenever it's possible seems more
promising and will attract more people. For some hated classes such as 
NSDrawers :-) people are free to not use them ...

I think the instability of GNUstep is more due to the limited number of GNUstep
developers and moreover the way some things are done (i.e cvs commit without testing -- 
yes, it happened, and things breaks -- ). The proposition of Serg Stoyan for -gui classes 
seems very good to me in this way, because some people could be responsable for some 
classes, not like the actual fuzzy way. I'm convainced it will help to have someone 
"accounting" for some classes. And if each write the documentation for its own 
small range of classes, we could have a good documentation quite fast.

The Problem is, that b) cannot really be enforced in free software projects. 
Same example, if Nicola want's to write Renaissance instead of investing the 
same amount of time into boring X11 testing and fixing, he will do so.

Of course, it's not a company, people are free to work on whatever they want ..

Nobody uses gnustep-gui in a commercial environment and this is a major problem 
(and IMHO the reason why GNUstep is FAR behind KDE and GNOME in usability 
terms).

In *usability* terms ?? Frankly, I'm quite happy with the current usability of 
the
few GNUstep apps. I think thoses few apps are generally quite good regarding
the usability, and their programmers are open to ideas concerning usability and
ergonomy. We have few apps, yes, and not everything is stable, but usability
seems good to me.

OK, now what I think GNUstep should be. IMHO the GUI thing should be dropped 
altogether. Really !! (I know I'm going to get killed ;-)

*blam* :-)

Why ? Because they are definitly not enough resources and there are working 
(and implemented) solutions available for any platform. Some points which may 
might clear why I think so, totally unorganized in note form.

Perhaps, but as you said, in a free software project, you can't assign 
ressources
on whatever like in a company ... If people want to develop -gui, -gui will 
evolve.
Else it simply will stagnate.

- There are about five, maybe ten developers activly working on gnustep-gui, 
but in less than part time. I claim that this *obviously* isn't enough to write 
a complete and production quality GUI framework (even in 10 more years).

I disagree. You could see some good gui frameworks which were written by
few programmers (look at the Fox C++ toolkit for example).

Think about it, really ! Take a look what KDE does, how long it took and how 
many resources were required to reach the current state. Note that Qt is 
available in stable form for years.

It's not the same thing -- KDE's API has evolved from small thing to a huge 
package
now ... GNUstep on the other hand doesn't need to have a such API evolvment.

- I agree that the GNUstep GUI framework is almost complete from a functional 
point of view. But now the last 10% of fixing the bugs starts and this 10% take 
90% of the development time (eg writing the NGImap4 client library according to 
the spec took about a month, but getting it working in sufficient quality took 
at least a year).

Sure, it's not finished. But frankly, the progress during the last 2 years were 
astounding. Of course it could take time to finishe the last 10% ... but it's 
the
same in every project. We have more and more user as it seems, and more
programmers. So I'm perhaps too optimistic, but I think things could be
completed.

Richard asks for people submitting bugs, but it should be understood that this 
is very hard and time killing work and needs qualified people.

Right.

- GNUstep as a separate, non Cocoa compliant framework IMHO doesn't improve 
development in a huge way in contrast to KDE or GNOME. If GNUstep-GUI would be 
100% stable and complete it would still be no KDE killer. GNUstep's technology 
is better than KDE's but not that much, KDE is good too and just works.

I disagree. A GNUstep-gui 100% stable would be an equivalent of Cocoa; do you
really believe that Cocoa is just slightly better than KDE ?
KDE is great, yes. But on the other hand, we have Gorm and Objective-C, plus
a very, very, good API. I don't think we will overthrown KDE or GNOME, but we 
could easily become
the 3rd desktop. We have the technology; what we miss is marketing.
And on the user level, LinuxSTEP is one of the most interessting project
I could see -- it could be equally interessting if based on KDE libs ;-) but I 
think that
a Desktop inspired from NeXT IS a better desktop than one inspired by Windows.

- A gui framework itself isn't enough. KDE/GNOME are not only frameworks but 
also a significant number of applications. And I'm not talking about Finger but 
about Konqueror, Evolution, Gnumeric, KOffice, Kivio, ... I think it's a common 
myth that once gnustep-gui is ready writing apps will be trivial, but it's only 
trivial for trivial applications, even on MacOSX and trivial apps are not 
killer. Those apps shall be developed by the five part-timers ?

Honnestly, more and more people seems interessted by programming using
GNUstep, thanks to Apple and the buzz around Cocoa/ObjC, and thanks to the
progress done during the last 2 years.
I'm pretty sure that people will come aboard when the project will reach a more
visible state and stability.

- A gui framework isn't enough 2. KDE/GNOME are not only frameworks, but also 
component systems. Eg think of embedding Mozilla into Konqueror or Nautilus. 
Think about DCOP IO services. Configuration management. Package management. 
QuickTime (as a media framework, not necessarily as an exact replacement).

I agree we sorta miss a component system (so does Mac OS X). But I think you
overestimate the importance of a component system such as in KDE. What could be 
done *now* for us is to program some additionals palettes to Gorm.
Anyway, a "real" (as in embed any component in your app) component system 
doesn't seems very difficult to do using ObjectiveC and DistributedObject. But
I think the simple "palettes" road is enough for most uses.
Embedded components is generally a bloat.
Configuration management, I don't understand ... we have the defaults base
(which is good) and we have an application such as Preferences.app, modular,
wich is exactly what we need. Package Management ??what's the relation
with GNUstep ? it's a distribution-related program. And, we have anyway a
good (very good) thing with our system of app bundles -- anything embedded
in the app bundle, multiple languages, even multiples architectures ...
A multimedia framework would be good, I agree. But on that particular point,
KDE or GNOME aren't very well mature either.

- As Nicola has pointed out, Renaissance (or something similiar) is required 
for achieving good platform independence. Now you must realize that most 
systems already work that way and are *blaimed* for that traditionally ;-)
That is, one of the technical features of gnustep-gui was seen in 
InterfaceBuilder, but we (at least some) already realized that this isn't 
really a good solution for the current problem. Eg OPENSTEP/NT wasn't that nice 
because it wasn't really Windows (same problem in Swing and Mozilla). 
GNUstep-GUI does not have up to date abstractions for X-platform GUI.

Well, we could follow 2 paths : provide a backend-thing which will use
the local set of widgets (windows, qt ...) ... I think it could be done (see 
wxwindows). But that's not the path choosen actually; people have
more or less agreed that GNUstep apps will be consistant *across* platforms
and not *on* the platform. Personnally, I will prefer consistancy on the 
platform..
Anyway, an average path could be done using themes.

- I know quite a lot of former NeXT users. Some of them moved to Windows, some to Linux 
and most to MacOSX. Know what ? Nobody is really interested in a NeXTstep looking GUI 
anymore ! Certainly, any NeXT user will look at GNUstep and say "wow, cool", 
but nobody will actually want to use it, because UI technology has evolved. MacOSX UI is 
considered better than NeXTstep and XP UI is considered better than NeXTstep (talk with 
someone who uses VisualStudio.NET !).

You seriously miss the point here. What had changed is the *look* of the UI.
But the UI itself isn't so great. With GNUstep hopefully, we'll have great UI 
for
our programs (at least compared to KDE/GNOME apps) if we follow the NeXT
guideline for example.
Many people don't see behind the look, and it's normal. And I agree that if we 
want the project a little more visibility, a theme support,
or at least another theme than NeXT, is mandatory. Myself, I love the NeXT gui;
but people want white gui now. Providing theme support will responds to
theses needs.
see http://www.roard.com/screenshots/screenshot_theme20.png for example
for my current tests. It's far from beeing finished, but it's *possible* to add 
theme
to GNUstep quite easily.

- GNUstep-GUI might get significant attention if the goal would be to reproduce 
MacOSX completly. Pretty much comparable to WINE at a higher level. But this is 
even a bigger project impossible using existing resources.

If I think another day about the topic, I would probably come up with more 
reasons. I know that those a pretty aggressive points, but IMHO gnustep-gui can 
only lead into nothing. It might be a fun project, but anyone who actually 
wants to accomplish something useable for more people should think about the 
points above.

That's why I totally disagree. Of course the current gnustep-gui is not 
finished,
but it's basically works -- I'm using GNUMail as my main Mailer since *last 
year* !
Moreover, there are many interessting things with gnustep-gui that I don't
find in KDE/GNOME, like the services. And that's alone is enough for me to
continue to work with gnustep-gui ... And frankly, I used to program with Qt, 
it's a great framework, very cool. But
GNUstep is far better (and Objective-C over C++ ... hmm... :)

So what would I suggest as a GNUstep goal ?
I have no ready made answer on that, again only some thoughts ;-)

First I think we should focus on GNUstep's real advantages. I see two things 
which are worth a project:
a) Objective-C (and Foundation)
b) gstep-web

I have some difficulties explaining that in email, but I give it a try ;-)

a) IMHO the real advantage is Objective-C. It's simply the better Java and the 
better C#. IMHO the biggest advantage of ObjC is it's 100% integration with C 
(to the level of toll free bridging as seen in CoreFoundation).
A difference between GNOME and KDE is, that GNOME tries to be compatible with any 
language at very low level and KDE is C++ only. That results in GNOME libraries being 
written in ANSI-C which is why GNOME is even more difficult to develop than KDE. Now the 
nice thing is, because ObjC is so compatible with ANSI-C, we can add 
"toll-free" additional value. It's very easy to wrap anything available in C 
and make it more usable. We can integrate with Apache, we can integrate with Java, with 
Mono, with GNOME, with TCL, with Perl, with Windows, ...

Objective-C is the better C and instead of writing everything from scratch we should use 
that advantage and become a "value-adding" product for existing stuff. Pretty 
much like scripting languages, only on a different level.
It's certainly a project that looks very doable to write a very good and 
complete Objective-C wrapper for Gnome or KDE in, say 3 months using 5 people.

Well that's alreday done. KDE and GNOME for Objective-C exists since a
long time. No one use them.

If that would be done, 5 people could finally start out writing applications in 
Objective-C ! The model layer could be easily shared between OSX and Linux 
applications.

Arg, it will be a pain in the ass, seriously...

And we can write good GNOME applications in ObjC much faster than other people 
in plain C.

Oh yes. But personally, I really dislike the GNOME project :-P
I think it's doomed. Perhaps even more than GNUstep ;-)

So we are not winning by base technology, but by superior applications.

We could do that using GNUstep. In fact I think we could do that in providing
small apps, *cooperating* with each others, and we could end with a better
desktop experience than KDE/GNOME. That's my opinion ...

Objective-C has an abstraction level almost comparable to Smalltalk or Python 
but by being pragmatic, is a lot faster and more integration friendly than 
those two.

true..

b) It IMHO has less potential than the above, but at least the project can in 
my opinion be completed using the given resources (from experience since we 
have done exactly the same ;-)
This is also pretty much the same way Python got major attention - by Zope. We 
can certainly be far better than Zope basing on WebObjects technology. We can 
provide much better integration with existing environments than Zope. And we 
can be a lot faster.
Also Mono is trying to accomplish that using ASP.NET, which is not nearly as 
usable as WO technology.

Yes, I really love gsweb, and we could do great things with it.
But such a project also still needs *quite* some work to make it interesting 
for masses. Eg we would need an IDE for gstep-web (... probably somebody needs 
to write an Eclipse plugin ;-) And we would need to support writing components 
in Java, PHP, Mono, ...


So, that's it what I have in mind till now ;-) I'm open to discuss the points 
and to try to explain further. Please don't flame, be constructive ;-)

Greetings
   Helge


Well, as it's an opensource project, you can't force people to work on things 
...
They need to be convainced :-)
I agree with your ideas concerning Objective-C and GSWeb, I'm all for it,
but that doesn't means I will stop working on gui apps ... ;-)

--
Nicolas Roard





reply via email to

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