> The goals of GNUstep are quite clear.  Our goal is to create an API which is 
> a clone of the latest version of Cocoa ...

Is this still a good goal to pursue, or should it be re-evaluated?

NeXTstep/OpenStep was a well and carefully-design API and operating 
system/desktop environment. When I say well-designed I mean not only the 
framework APIs but also visual design, user experience / user interface 
guidelines, the icon sets, the widgets, etc. down to the tiniest detail. 
Furthermore, it was aimed at the technical user.

Mac OS X is none of the above.

The impression I get is that Apple has more or less abandoned the desktop, a 
long time ago, in each and every way, have focussed all their attention, 
thought and resources on mobile, where most of their market is, and will never 
reverse this.

When I say in each and every way I mean:

- the programming language (Objective C 2.0 is not elegant, punchy carefully 
designed like the original Objective C was, but, although it has some nice 
innovations - like blocks, which however seem to me to be not so much an 
extension of Objective C as of C - is more of a hodge-podge like C++ than the 
elegant Objective C)

- the user interface guidelines. Mac OS X GUI is cool/flashy/tasty gummy but it 
is neither well designed nor very usable IMO:
        - while animated GUIs may look pretty, I do not think Apple has thought 
through the undesirable consequences of your working area being a moving target 
and your clicks and typing often end up in a different place than where they 
were directed at when you entered it, simply because the state of the GUI was 
changing as you were typing. This often has disastrous effect.
        - there seem to me to be many more alert panels than in NeXTstep which 
likewise switch the keyboard's & mouse's focus from where you were typing
        - there seem to be many different kinds of incongruent-looking widget 
sets
        - right-clicking is often so overloaded with incongruent meanings that 
clicking a few pixels away from the correct area has a completely different 
effect than intended. A few pixels away can be caused inadvertently by pointer 
moving as you press a button, etc.
        - the very useful tear-off menus and other NeXTstep-unique features 
have been removed

- the app design:
        - NeXT was based on the idea of interchangeable components; Mac OS X 
seems to be based on large monolithic apps (e.g. iTunes) with names of other 
apps (e.g. Address Book) baked in, with no publicly visible APIs for users to 
extend/replace the functionality of included apps
        - Mac OS X apps often include "machine learning" behaviours which cause 
the computer to behave in unpredictable ways which maybe were intended to 
provide useful defaults for technically unsavvy users, as opposed to NeXTstep 
which opted more for configurability by programmability (which is largely 
absent from Mac OS X)
        - basic standard apps like Mail.app are unbelievably buggy, to the 
point of being nearly unusable, and don't seem to be developed or maintained at 
all. Mail.app, for example, loses mail messages, editing rich text is almost 
completely unusable, etc.

- the O.S.:
        - HFS+ - need I say more?
        - ugly hacks in implementation of filesystem features on non-native 
filesystems (._ files)
        - bugs, often fatal crash bugs in the O.S. I know at least two ways to 
crash OS X.4 from a 2 or 3 line C program run in user space. Maybe OS X.5,6,7,8 
are better, but I doubt it.

I could go on and on but I neither have the time to write more nor would you 
have the time to read more.

Would it not be a more worthwhile goal for GnuStep to

(a) polish the edges of GnuStep so it implemented not only the OpenStep API but 
to also be a well-rounded, well-designed, usable - if minimal - desktop 
environment / distribution a la NeXTstep. Currently, the integration with 
WindowMaker leaves much to be desired. There is no GnuStep-native login panel. 
GnuStep apps seem to be buggy and flakey, even basic ones like Terminal.app, 
e.g.:
        - resizing the window does not re-wrap the text
        - the font panel does not work properly for me
        - etc.

(b) aim to continue to develop GnuStep as a framework aimed at technically 
savvy users - as most Linux users are - who appreciate its reliability, modular 
component-based, well thought-out design. And try to evolve it in the way 
OpenStep would have evolved if it had not been acquired by Apple and changed 
focus from technical/higher education users to the mass consumer/"creative" 
market.

In my opinion, trying to track the latest Cocoa will never get any traction. 
Cocoa is a moving target, so GnuStep will never be complete / debugged & tested 
enough for any serious developer with a currently shipping product to use it to 
port their current Apple product, simply because these developers will use 
bleeding-edge Apple stuff and will not waste time using a framework which is 
necessarily 3 generations of Cocoa behind, is buggy, has no traction/user base.

Nor will it get traction with technical users if it tracks the Mac OS X API in 
all its ugliness and poor design.

On the other hand, there is a very clear niche of technical users who are 
crying for a well-designed, robust, "just works", "mission critical" 
environment, with nowhere to go.

E.g. a GnuStep distribution could be built which provided a basic and minimal 
set of apps (Terminal, TextEdit, GnuMail, TeXShop, Gorm, ProjectCenter, etc.), 
well and fully implemented, bug-free, carefully designed and with the aim of 
frameworks and apps being extended by the open-source community.

In my opinion such a distribution would gain (some) traction, its target 
audience would necessarily be niche, but a decent sized and growing niche. 
Which is better than it being "not quite the thing for me" for everybody.

> We are 10-20 developers working part time on a project which has no funding 
> and no company which formally backs it.

I would consider offering some financial support to GnuStep, though, at 
present, would be unlikely to contribute any time (maybe and hopefully this 
will change in the future).
_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
  • Re: Commen... James Carthew
    • Re: C... Austin Clow
      • R... Gregory Casamento
        • ... Gregory Casamento
        • ... Austin Clow
        • ... Riccardo Mottola
        • ... Riccardo Mottola
        • ... Austin Clow
        • ... Germán Arias
        • ... James Carthew
        • ... Dr Slivnik Tomaž MA (Cantab) MMath (Cantab) PhD (Cantab) FTICA
        • ... Gregory Casamento
        • ... Dr Slivnik Tomaž MA (Cantab) MMath (Cantab) PhD (Cantab) FTICA
        • ... Riccardo Mottola
        • ... Dan Hitt
        • ... James Carthew
        • ... Riccardo Mottola
        • ... Riccardo Mottola
        • ... William F. Adams
        • ... Riccardo Mottola
        • ... David Chisnall

Reply via email to