discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Comments on the website from people on twitter...


From: Dr Slivnik Tomaž MA (Cantab) MMath (Cantab) PhD (Cantab) FTICA
Subject: Re: Comments on the website from people on twitter...
Date: Fri, 9 Aug 2013 07:10:58 +0100

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).

reply via email to

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