helloSystem / hello

Desktop system for creators with a focus on simplicity, elegance, and usability. Based on FreeBSD. Less, but better!
2.31k stars 57 forks source link

We need more than just Design Philosophy. #20

Closed inarticulatus closed 3 years ago

inarticulatus commented 4 years ago

First of all, massive respect for the AppImage project.

Consumed a lot of your literature on Linux Usability. The freedom, without what I call structured growth has made the desktop a mess. Over the past two years, I did a lot of distro-hopping, before settling for the one I thought was the easiest to build on, (Arch Linux). Then began the endless search of the perfect desktop environment. GNOME, MATE, KDE Plasma, i3, XFCE, and what not.

I love tweaking bits and pieces more than freezing panels, weird, inconsistent design, so i3 becomes my choice, not that it was much help. And I am not talking about just GNOME environment. I am talking about GIMP and Inkscape. Open them alongside each other. The horrific visual torture that is presented is what I think you mean with messed up broken Desktop Linux.

I understand that this is a very specific scenario than what you have talked about, but this for me was the demonstration of a need for standards, which the UI developers could agree upon. I tried editing inkscape UI to look more like GIMP, took a few days break, and now I have no idea what to edit, and where to find them. I mean yeah it is a css file, but why does the attribute for the menubar have to be different. And that in my opinion is why we need more than just philosophy. More like one standard set, a guide for those developing the software.

If there could be one thing I could contribute, it would be to develop that set of design guidelines.

probonopd commented 4 years ago

Thanks @inarticulatus for commenting here. Indeed we would need to go from a Design Philosophy to a set of Human Interface Guidelines, at least in the places where we cannot simply link back to the originals we like.

antony-jr commented 4 years ago

I really recommend you to move to a sane OS like Arch Linux or Debian. BSD is very very very hard to work with. Since it's hard to work with linux developers don't port anything. So you are going to have a system full of security holes. Or you are going to have to port everything from linux to BSD.

probonopd commented 4 years ago

*BSD is very very very hard to work with.

In which regard? I have been using it for the last month or so and in fact I am very pleased with it. No more different distributions to deal with, just one FreeBSD.

So you are going to have a system full of security holes.

The FreeBSD community is lively, and is updating the system.

Or you are going to have to port everything from linux to *BSD.

Are you thinking of applications? Most I use are already there, and the few that are not can probably be made work with the Linux emulation layer. (Think "FreeBSD Subsystem for Linux".)

image

antony-jr commented 4 years ago

In which regard? I have been using it for the last month or so and in fact I am very pleased with it.

The FreeBSD community is lively, and is updating the system.

Yes they are. But packages gets forever to get to the new version. Also drivers are added way later than in linux.

probonopd commented 4 years ago

Live Boot requires minimum 4 GiB RAM which is a deal breaker for me since linux can live boot with just 256 MiB or less.

That is a requirement of FuryBSD specifically, not FreeBSD in general. I hope it can be improved.

Building Software from source.

With FreeBSD, you get precompiled binaries using the pkg install command, just like apt install.

Driver Support

Do you know any drivers that you have on Linux which are missing on FreeBSD?

Design and Style

The desktop environments on FreeBSD can look 1:1 the same as on Linux...

packages gets forever to get to the new version

In fact, you can choose how "LTS" vs. how "rolling" you want it to be. I choose quarterly.

probonopd commented 4 years ago

Added https://github.com/helloSystem/hello/wiki/Architecture.

antony-jr commented 4 years ago

I think we also need a nice small logo like Apple so that we can put that on the system menu instead of saying System.

ymau commented 4 years ago

I haven't had the chance yet to use the system live, but from the screenshots I've seen so far I partly agree with @inarticulatus on the interface needing some guidelines. The "glass" style on the buttons and the global menu bar was outdated 15 years ago, but I like the style of the file manager seen in your Medium article. As someone who has been working with Qt professionally for nearly 20 years (no Python, though) I know that it can be a pain to tweak its style. From the Architekture page I gather that you're (@probonopd ) also considering using other frameworks as well, but in my opinion mixing frameworks usually isn't desireable and basically the exact opposite of your philosphy of making things as simple as possible. Also TQtC is quite restrictive with its licensing which will only get worse with Qt 6. Nevertheless I'd suggest sticking to Qt for now and implement a style the supports your philosphy and is automatically applied to other Qt based applications running on the system. Also developing Interface Guidelines as suggested to be used by the components provided by the system will be an absolute necessity.

antony-jr commented 4 years ago

@ymau I think @probonopd should move from Qt too. If possible I highly recommend using CopperSpice or Dear ImGUI or just use bsd specific graphic libraries since we are not aiming for cross platform.

ymau commented 4 years ago

@antony-jr While I like Qt I basically agree with you, as Qt is GPL or commercially licensed (with the GPL version getting new features/versions a year after the commercial version from Qt6, and no more LTS) and a FreeBSD desktop should ideally be BSD licensed. But to get it up and running Qt should suffice for quite some more time. Also the project should stay away from Qt *.ui files as those usually contain quite bad code (as wicth most generated code).

inarticulatus commented 4 years ago

I really recommend you to move to a sane OS like Arch Linux or Debian

@antony-jr I have not used BSD yet, but from what I understand, one of the major benefits of using the BSD over Linux, should I ever switch, would be to not be at the 'mercy' of one individual. I am not at all implying that Mr. Trovalds is evil or anything along that line. But if I were to base this on another project, I would want to have least risk associated. As for security, like @probonopd mentioned, the community is really active regarding this, with companies like Netflix and Sony contributing back (for their own gain). Regarding the UI toolkit, I think it should be easy to tweak, especially for the "master" theme if you will. In this one instance, I really feel KDE and XFCE being successful. All softwares, ported or not, should look like they belong to this platform, not like they were borrowed. Any idea how XFCE accomplishes the uniform look (to whatever extent it is)?

probonopd commented 4 years ago

The "glass" style on the buttons and the global menu bar was outdated 15 years ago

Buttons were immediately recognizable as buttons by everyone back then. In my opinion the Mac visual design peaked around 10.4 and only became worse thereafter. In this project we are not aiming at a 1:1 reproduction of any particular visual style, but rather build something that is "welcoming to switchers from the Mac", especially those who don't like what happened after 10.9.

working with Qt professionally for nearly 20 years (no Python, though) I know that it can be a pain to tweak its style

Our theme is using a QSS style sheet at /usr/local/etc/xdg/stylesheet.qss that can be tinkered with by users at runtime if they so desire. For example, the Aqua-like gradient on the buttons can be removed by editing one line. Nothing needs to be recompiled, so experimenting is very fast.

move from Qt

This being said, I could imagine to switch to something like Fyne at some point in the future, if it gains tractions with cross-platform applications.

a FreeBSD desktop should ideally be BSD licensed

Fyne is.

ymau commented 4 years ago

Buttons were immediately recognizable as buttons by everyone back then

You still can do recognizable buttons without wasting processing power on gradients, transparency etc. Also the blingy style doesn't quiet fit with the philosophy of simplicity IMHO.

Our theme is using a QSS style sheet at /usr/local/etc/xdg/stylesheet.qss that can be tinkered with by users at runtime if they so desire

The problem with QSS stylesheets is that they only allow a subset of elements to be changed. QSS was always considered to be more of a compromise for quick design changes to single elements, not for whole applications (or desktop environments). Also there are quite few bugs in their implementation that most certainly wont be fixed anytime soon, not to mention the hit on performance.

Again, I like Qt. It's (usually) quite easy to work with, it's (mostly) fast and lots of applications use it. I'm just questioning whether the direction it's heading lately will make it a good choice for a Desktop system like hello. I agree with you on Gtk and the other options though.

Fyne looks fine (yeah, I'll show myself out after finishing this comment), but it's written in Go, which I don't have experience with and thus can't comment on it's suitability for systems programming.

grahamperrin commented 3 years ago

https://github.com/helloSystem/hello/issues/20#issuecomment-728897363

… The "glass" style on the buttons and the global menu bar was outdated …

Of course, not all updates are improvements ;-)

Lest we forget:

"refines the impression of plausible, physical dimensionality"

– spoken by Jane Fonda in a cable TV advertisement for a plumping anti-wrinkle serum?

No. Page one of Apple's Designing for Yosemite. Is it possible that the wishes of former authors of the Human Interface Guidlines were overridden by someone from the fashion industry?

probonopd commented 3 years ago

What counts for me is "how it works", not just "how it looks". And a button must be recognizable as a clickable button rather than a flat round rect. It's about usability, not just about looks. If we can find a way for the buttons to look better, I'm all for it. The style can be edited by editing a qss style sheet at runtime, so if we find a caring designer they can tweak it a lot.