discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Our self-presentation, not just on our website. (Was: Re: GS based a


From: Albert Palacios
Subject: Re: Our self-presentation, not just on our website. (Was: Re: GS based app release: djay by Algoriddim in Beta)
Date: Sun, 3 Sep 2023 11:30:41 +0200

Hello,

I don't want to upset anyone or start a war. I have been following the 
'GNUStep' project with admiration for years and have held back from sending 
these comments so as not to disturb anyone. I truly offer them with a 
constructive spirit to help improve things.

I know that some of the main GNUStep developers are against offering an updated 
visual theme, and in various interviews, they argue that this is the 
community's responsibility, implying that it's easy to do.

But I've tried several times and encountered significant obstacles, which 
discouraged me from trying again. I may not remember everything, but basically:

    • Themes don't offer an easy way to modify 'margins' and 'paddings'. The 
clearest example is menus; they're terribly condensed, and it's not possible 
(or simple) to space them out. Likewise, you can't modify the rounding of 
edges, change the 'mouseover' selection method, or adjust transparency.

    • There are library incompatibilities between OSX and GNUStep. Due to a 
lack of documentation, you can waste hours discovering that 
‘NSBezelStyleRounded’ corresponds to ‘NSRoundedBezelStyle’ or that 
‘NSButtonTypeMomentaryPushIn’ has an equivalent in ‘NSMomentaryPushButton’.

    • GNUStep simply doesn't have a good animation system. In OSX, you can 
invoke NSAnimationContext and get a smooth transition with minimal effort. In 
GNUStep, I've tried animations, and the best I've achieved is with NSTimer. 
Still, they're so crude that I'm embarrassed to publish any application in 
those conditions. Maybe the problem is the same as before, and I haven't been 
able to find valid documentation and examples.

    • Trying to style most components can become a nightmare, even when you 
give up and decide to reimplement the “drawRect” method. Some components are 
simply different between OSX and GNUStep. For example, NSProgressIndicator 
displays squares and text titles unrelated to what you've previously 
programmed. Also, animations are not smooth and stop when interacting with the 
interface. Pressing a button in the same window with an indeterminate progress 
bar makes the animation pause. It's frustrating.

    • Not to mention trying to create components that blend the title bar and 
toolbar like modern OSX applications. With GNUStep, it's simply impossible.

Beyond the inability to develop a modern-looking theme, other issues urgently 
need addressing:

    • Having a GNUStep configuration folder in the 'home' directory is 
unacceptable to anyone mildly organized (or with obsessive-compulsive 
disorder). Can't you put a '.' before the name to make it hidden?

    • Changing the system font or font size causes applications (especially 
buttons) to be inexplicably cut off. In 2023, for accessibility reasons, this 
is a 'must’.

    • The icons, this type of icons were not visually attractive even in the 
90s. In fact, I think it was the first thing fixed for OSX Cheetah.

I genuinely don't want to upset anyone. I see the tremendous effort dedicated 
to GNUStep, which is why it angers me that more people aren't interested in 
using it. But I understand why.

I'm fortunate to work with teenagers interested in computing and programming. I 
can assure you, when they hear about GNUStep and see the aesthetics of the 
applications, they don't see any practical use. Let's be honest, if aesthetics 
weren't important, Apple wouldn't have spent a dollar updating them since the 
90s. Yet they've consistently improved and updated, and their current theme 
isn't much different from 'Aqua', but it looks modern, clear, and clean (take a 
look at: https://mackuba.eu/2014/10/06/a-guide-to-nsbutton-styles/).

There's significant interest in these libraries, and GNUStep is well ahead of 
other projects:

    • The DarlingHQ project aims to adapt aesthetics to the 'host' system. 
They're years away from achieving this. Right now, they're more focused on 
low-level compatibility (and even across processor architectures) than 
improving graphic applications. This approach, adapting aesthetics to the 
'host', will fail because OSX applications are designed only for OSX's visual 
components.

    • The RavynOS project may never be more than a 'diversion'. But they've 
attracted many people's attention with a single slogan: “Finesse of macOS. 
Freedom of FreeBSD”. They only have a visually appealing website and a lively 
Discord community, without even a decent demo. It's the exact opposite of 
GNUStep, yet they generate more interest.

    • ElementaryOS started with a 'crazy' premise: Using a dead language (Vala) 
and constantly evolving libraries (Granite), you could develop applications 
with a contemporary aesthetic easily. They've always had excellent 
documentation and copy/paste-ready examples. This 'crazy' premise has grown 
into a strong developer and user community, primarily due to impeccable 
aesthetics for application components, icons, and user experience.

From the points above, some keys to attracting more users emerge:

    • Improve aesthetics
    • Enhance documentation
    • Provide small, 'ready to go' code examples that can be copied and pasted 
to start developing applications (or themes)
    • Enhance the libraries themselves, such as animations and nomenclatures
    • Improve development tools; a plugin for VisualStudioCode would be 
fantastic

I repeat, I don't want to start a war or offend anyone. On the contrary, I 
recognize that GNUStep is an extraordinary project. But if there isn't a change 
in direction soon, it will remain a mere "curiosity" in computer history.

Kind regards,

Albert


> On 3 Sep 2023, at 04:22, Svetlana Tkachenko <svetlana@members.fsf.org> wrote:
> 
> Ubuntu have another model, they have several official flavors each showcasing 
> another aspect of the platform. Perhaps this could be useful to show 
> different configurations of GNUstep/WindowMaker rather than having only one 
> as a reference.
> 




reply via email to

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