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: Gregory Casamento
Subject: Re: Comments on the website from people on twitter...
Date: Fri, 9 Aug 2013 03:26:38 -0400

Gregory Casamento
greg.casamento@gmail.com
Open Logic Corporation, President/CEO
GNUstep Lead Developer


On Aug 9, 2013, at 2:10 AM, "Dr Slivnik Tomaž MA (Cantab) MMath (Cantab) PhD 
(Cantab) FTICA" <slivnik@tomaz.name> wrote:

>> 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?

What else can be done?  Anything other than this would be valueless.  We would 
be known as "that partial clone of Cocoa which decided to go in our own 
direction."  So, no, I don't believe it should 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.

It was really aimed at both.

> Mac OS X is none of the above.

I'm not really sure I agree with this assessment.   NeXTSTEP and OpenStep 
(OPENSTEP was NeXTSTEP 4.0) were very utilitarian in their design mainly 
because they had to be.   The hardware of the time was limited and yet they 
managed to do so much with it by keeping the design of the UI relatively 
simple.   The main reason GNUstep has the look that it does is because it 
started at roughly the same time and cloned the UI as it was back then.  

Mac OS X had to fit into the existing Mac OS user base in order to be accepted, 
so, as a result, the old UI necessarily went away.  I would have loved to have 
seen what direction NeXT would have taken us if they had not been bought out, 
but, ultimately, that's not what happened.  Nevertheless, GNUstep currently 
doesn't imitate the OS X UI.   The classes implemented in Cocoa are soundly 
designed, just like those in OPENSTEP and NeXTSTEP before it so I don't see 
what you're saying when you say that Cocoa is not well designed.  

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

Blocks were originally proposed by Brad Cox, the inventor of Objective-C.   The 
2.0 change that I detest is the dot syntax used to access properties since this 
breaks the philosophy that Objective-C would never re-use C syntax for other 
purposes.

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

I've been using Mac OS X for years now and I've never had this cause any 
problem for me.

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

I honestly can't say whether this is true or not, but I remember there being a 
fair number of alert panels in NeXTSTEP as well.

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

Useful to be certain.  VERY useful, I'm not sure about.

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

iTunes uses the iTunesLibrary framework to access music metadata and the 
MediaPlayer framework to play it.   All are publicly accessible and, in fact, 
recommended and in some cases (on iOS) MANDATORY to access some data.   So I'm 
not really sure what you're talking about with respect to "Large Monolithic 
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.

I use Mail.app every single day to handle my 200,000+ message mailbox.   It 
does so beautifully.


> - 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 have a feeling I know which bug you're talking about.  There was a PPC bug 
which allowed a very short program to freeze the system due to a processor bug 
which caused the CPU to enter supervisor mode, but I could be mistaken.   This 
bug as I recall was not something that could be trapped or prevented by the 
operating system.   There was a similar issue on intel processors a long time 
ago caused by a faulty FDIV instruction which could be exploited easily and 
used to freeze the computer.  I tried it once on my old Pentium when I used to 
run OPENSTEP on it… it worked just fine.  So I'm not sure that these crashes 
you're referring to are actually issues which are related to a OS level issue.

Additionally, if you haven't used OS X since 10.4, I'm sure that your 
information isn't even nearly up to date at all.   To you, Mac OS X has been 
frozen in time and hasn't changed for several years. 10.5-10.8 have offered a 
sea of changes and bug fixes.

> 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

GNUstep currently does fully implement the OpenStep API.  The only classes 
which are not implemented are:

Listener --  NeXTSTEP compatibility class...
NSCStringText -- NeXTSTEP compatibility class...
NSDPSContext -- DPS is not implemented
NSDPSServerContext -- DPS is not implemented.
Speaker -- NeXTSTEP compatibility class…

The reasons for not implementing these are all obvious.  NSDPSContext* is of no 
consequence since it's not public (it is a concrete subclass of 
NSGraphicsContext) and the others are compatibility classes.  Other than that 
GNUstep implements all OpenStep classes.


> 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

This is not a bug, but a feature.. LOL.  That functionality, I don't think, was 
ever intended to be there in the first place.  I would consider this a feature 
request.

>       - the font panel does not work properly for me

Works fine for me.

>       - etc.

Elaborate…

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

It is fundamentally impossible to market GNUstep towards one thing or another 
since we aren't a company.   People use us when they need us. :)

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

Apparently you're unaware of the following set of developers who do take 
GNUstep seriously enough and consider it complete and debugged and tested 
enough for a currently shipping product… please follow this wiki link: 
http://wiki.gnustep.org/index.php/Success_Stories

The three on that list that should stand out are Adobe, Apportable and 
TestPlant/EggPlant.  :)

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

This assertion addressed above.

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

We're already working on a set of applications for GNUstep in the GAP project 
http://gap.nongnu.org

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

GC


reply via email to

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