GUI Concept

I guess some of you might have seen this already.
The following blog post of a kde developer might give us some good ideas for the next-haiku-gui .

Indeed… it might even be a good idea to implement the app server as a wayland compositor and implement the window decorations like this. Perhaps implementing the BeOS opengl apis as wrappers around EGL or something like that. It would certainly bring Haiku more in like with emerging industry standards. Not sure I understand how those layers work together though… I mean it seems wayland doesn’t require EGL but if it is there it is the Native OpenGL interface?

I like what I saw there… though I am not overly fond of moving everything into the window border it looks like the concept is flexible enough to implement stack and tile etc… That said non clickable wigets make sense IMO like progressbars or scrolling song track in the tible bar perhaps even a previous/next button as long as t wasn’t too big?

I don’t think putting big controls like volume sliders or progress bars in the window header makes any sense… it makes alot of sense to put progress bars or other non clickable or other info there.

I also liked how they could adapt those controls to a mac os like UI… althought those make more sense on small screens and not on 4k HD screens since your mouse would have to roam about far too much to get anything done.

emerging industry standards are catching up to the gui we already have. also, the server/dm setup of linux comes from a history of mainframe computers interfaced with terminals, it makes zero sense to emulate that for a system that is end-to-end meant for desktop use and would be so much work anyway one might as well just make a beos theme on top of an x window manager of choice (fluxbox and enlightenment are pretty close already) or if plasma desktop is your thing, stick that atop a *nix and call it a day – what additional benefit do you get from haiku, anyway?

@spinach You seem to be a bit out of date on Linux graphics stacks… the current direction things are going is Wayland which is nothing like X11. You can run X11 on top of it with a little overhead though.

From what I understand of the stack… were Haiku to implement Wayland the current Haiku app server would need to be rewriten as a Wayland compositor which would take it in a good direction IMO where things like 3d Acceleration could be shared with Linux to a larger extent. Wayland reuses DRI drivers however does not do so with GLX it uses EGL which does not pull in the bloat of X11 libraries.

Bascially none of the classic Unix/Linux window managers or desktops work on Wayland without at the very least a partial rewrite since things and the roles played by the different components are drastically different.

I use Linux daily, but there isn’t much talk about Wayland anymore.
Unixes are rooted in the server side of operations, Haiku on the other hand is to be a pure desktop system; only running services necessary for the end user, (i.e. to get on line & to do work; some might also say to play games.)

Don’t know exactly what you mean about ‘much talk’, it’s being discussed like all other software, particularly when a new release is out, as for adoption, currently it powers Sailfish OS used on smartphones from Jolla, it’s supported on Samsung Tizen and Raspberry Pi through Maynard, which is a Wayland based desktop shell, it’s also used in TV’s iirc.

As for wider Linux desktop use, both Gnome and KDE are well on their way to fully support running under Wayland, same goes for their respective toolkits (GTK3, Qt5).

As always in FOSS, development may seem slow because unlike with proprietary development where everything is typically hush-hush during development for several years and then suddenly announced, in FOSS you get to follow the whole process from idea to finalization which includes a whole lot of problems to solve along the way (Haiku is a prime example).

Wayland is well on track, I expect it to be shipped as the default in many distros come 2015 onwards (there is one already, Maui), with Ubuntu as the odd one out given that they are doing their own display solution called Mir.

Also there’s work done on supporting Wayland on the BSD’s as well.

[quote=km]
Unixes are rooted in the server side of operations, Haiku on the other hand is to be a pure desktop system; only running services necessary for the end user, (i.e. to get on line & to do work; some might also say to play games.)[/quote]

While Linux is very big and often dominating on servers, mobile, cloud, supercomputers etc, it is indeed not a major player on the PC desktop (in reality the only major player there is Windows), that said if I’m being in any way realistic I can say with certainty that Haiku will never reach anything even remotely near the amount of Linux desktop users, and from a typical end user standpoint, a Linux desktop is widely more useful than Haiku, and unless a miracle happens in terms of attracting more developers, this will most likely remain the case.

In fact, the Linux desktop is getting even more attractive for average desktop users with the arrival of services like Steam for gaming, and working Netflix.

I agree with you that Haiku has the advantage of being written directly for desktop use rather than being a jack-of-all-trades like Linux, but that doesn’t really matter when the Linux desktop still comes out on top given the vast software and hardware support advantages it has when compared to Haiku.

[quote=cb88]@spinach You seem to be a bit out of date on Linux graphics stacks… the current direction things are going is Wayland which is nothing like X11. You can run X11 on top of it with a little overhead though.

From what I understand of the stack… were Haiku to implement Wayland the current Haiku app server would need to be rewriten as a Wayland compositor which would take it in a good direction IMO where things like 3d Acceleration could be shared with Linux to a larger extent. Wayland reuses DRI drivers however does not do so with GLX it uses EGL which does not pull in the bloat of X11 libraries.

Bascially none of the classic Unix/Linux window managers or desktops work on Wayland without at the very least a partial rewrite since things and the roles played by the different components are drastically different.[/quote]
it’s not any different. it’s still a mainframe/terminal paradigm instead of a desktop one and is still more bloated than an integrated desktop. haiku, meanwhile, has a plenty functional app server that doesn’t need rewriting, native gallium3D support and lacks only hardware acceleration (which is a hell of a lot less work than an app server rewrite for wayland support).

if you want wayland support, why not just use ubuntu?

Qt5 is great. 3dEyes is porting it to haiku already. we don’t need wayland for Qt5. Qt4’s been ported for ages. with the way kde frameworks 5 is coming together, with few dependencies outside of Qt5, many kde applications will be available, as well. wayland doesn’t afford us much benefit there. gtk is a mess and not worth the effort.

Because Ubuntu doesn’t have Wayland?

I don’t know where you heard that Wayland is “mainframe/terminal” oriented care to explain that because I certainly haven’t heard any such think from anyone but yourself. Perhaps you mean the fact that it isn’t a desktop itself… well so what… even Haiku has an “App Server” it isn’t a desktop either its just what draws the desktop.

Also… implementing the app server on top of wayland as a compositor is probably a good idea and Haiku is already moving in that direction anyway with the work Joseph Groover/looncraz was working on., its a matter of do you want to benefit from already existing acceleration and fancy vsync implementation provided by wayland and DRI or do you want to just go do it yourself.

If anything Wayland is an embedded graphics API because Mainframes don’t do “graphics” at least not directly… and its targeted largely at phones, tablets and desktops thats the facts. And yes you can run wayland without acceleration I’ve seen it done even on extremely slow machines … like the openrisc javascript simulator (I just checked and unfortuanately Wayland is broken on it at the moment but it worked a few months back)

Hi Rox, thanks for the info, the forums I use hadn’t had anything relating to Wayland since just after its announcement, (plus a few months), so that is interesting to see it has developed, as it should be lighter than using the X framework for graphics.

Can we focus on the current UI? If it isn’t broken, we don’t need to fix it. There are opportunities for improving the current UI for power users while keeping it simple for the end user that is fearful of the X11 style proliferation of incompatibility (yes, even down to one window just looking a bit different from the rest!)

Even if the GUI looks the same, but runs on top of Wayland, what would be gained by doing so? As already noted by spinach, we just need Gallium3D drivers (and maybe some 2D acceleration in a few places).

When a “new thing” comes along, it is good to evaluate it. But remember, too that it can be just as complex (or more so) to integrate external works when compared with extending the existing API to include similar functionality.

That you can use Linux without any GUI whatsoever does not affect the Linux desktop users, not only can they use their computers without ever having to drop down to commandline (my parents never do), but compared to Haiku in it’s current state, a Linux desktop user is way better off than a Haiku user because unlike on Haiku, the Linux desktop user has a ton of GUI based software to use in order to solve practically any problem they have.

Meanwhile Haiku is starved for software (GUI and commandline alike), and that’s ignoring other issues like hardware support and 3d accelerated graphics.

So from a typical desktop end user standpoint, the ‘mainframe/terminal paradigm’ you try to portray is nowhere to be seen, they can do everything they need from the GUI.

The fact that Haiku is written directly as a desktop OS doesn’t matter if you get an even better desktop experience from a Linux/BSD distro, and for the typical end user a Linux/BSD distro offers that.

This is the main battle Haiku is grappling with when it comes to attracting users, what does it offer in real ‘end user’ terms as opposed to the competition?

And the ‘end user’ in this case would largely be people already interested in running ‘alternate’ operating systems, such as Linux or the BSD’s, because that is where it has the greatest chance of attracting users.

It lacks the software and hardware support of it’s main competitors, and not by a small margin either, what it does have is that it’s a nice operating system written top to bottom as a desktop OS and where the components all feel like they fit together, but when I take off my rose-tinted glasses and look at Haiku objectively, what tangible benefits does this bring me as an end user ?

Meanwhile, an end user running a desktop environment like Gnome or KDE, or even a WM (like I do) has in my opinon a much better ‘desktop experience’ than someone running Haiku by the simple fact that there is that great deal of software and hardware support, whatever your opinions are regarding ‘bloat’ or that you feel it’s not a ‘real desktop’ OS.

I have no doubt that with closer to equal software/hardware support, Haiku would be a very attractive solution for desktop users, but as it currently stands, your needs would have to be extremely spartan if you could do with Haiku as your day-to-day OS.

The hardware bit can be solved to some extent by leveraging the Linux kernel, but it doesn’t seem like this is going to happen, software is another issue.

The most obvious way is porting software, but that is still a difficult task for larger software, and the (best of all worlds) alternative of native applications for Haiku covering it’s lack of software is nothing but a pipe-dream at the moment.

Overall I find the future looking very grim unless Haiku can attract a lot more developers somehow, particularly since they ‘heroes of old’ like Axel, Ingo, Stephan, no longer seem to have much time working on Haiku :frowning:

Didn’t the guy who claims he has gotten Haiku to run on a Linux kernel also state that he had made the app server use Wayland, atleast that’s what I recall from what I read on the developer mailing list.

Ubuntu is likely the one and only Linux distro which isn’t going to use Wayland when dropping X, but instead their own new solution called Mir.

But more to the point, leveraging Wayland mainly makes sense if Haiku were to use the Linux kernel I think, not so much otherwise.

Yes, and much more secure on a core level.

That said it will take time for a ‘full’ transition even when distros ship with Wayland as the default, simply because there is software written directly against X, rather than through a toolkit like GTK/QT, and also software stuck on older versions of said toolkits which aren’t compatible with Wayland.

There is a solution for that though, which is XWayland that allows you to run an ‘X’ instance under Wayland for those applications to use, but overall and in a longer perspective, for anything but very niche applications I believe there will be either upgrades to such apps so that they work directly under Wayland, or new alternatives written directly against Wayland/toolkits supporting Wayland.

I don’t think that those developing Haiku have the intention of making it into another UNIX distro. Linux, BSD and the like are fantastic Meccano sets for software developers.

Haiku/BeOS is unique. It is a thing in its own right. I don’t think it should try to “compete” with Linux or BSD. It is meant to be a Desktop OS with its own, consistent style.

There is nothing stopping users from using a Linux distribution if that is what they want. Please don’t try to rip Haiku into a shape that it wasn’t designed to Be.

[quote=philcostin]
Haiku/BeOS is unique. It is a thing in its own right. I don’t think it should try to “compete” with Linux or BSD. It is meant to be a Desktop OS with its own, consistent style.

There is nothing stopping users from using a Linux distribution if that is what they want. Please don’t try to rip Haiku into a shape that it wasn’t designed to Be.[/quote]

I agree to an extent, what makes Haiku… Haiku is that it is a project developed more or less fully from the ground up, and of course directly targeted at desktop use.

But in practical terms, what does this boil down to ? I mean desktop / mobile targeting systems like Android, ChromeOS, OSX, iOS, and of course the usual distros all use these ‘meccano sets’ as you describe them (Linux/BSD), and to great effect.

So while I’d prefer the ‘basically everything that makes up Haiku being directly written for Haiku’ concept, the development of such an operating system with so few developers seems increasingly unfeasable.

Maybe it’s just me ‘slowly losing hope’, but during the entire time I’ve been following Haiku, which is since way back when it was called OpenBeos, I feel that the interest surrounding Haiku is just fading away (not saying it was ever huge, but still), and I attribute that in a large part to it simply not being a useable day-to-day OS even for people who are already using alternative operating systems (like Linux/BSD), which again largely boils to lack of software and hardware support.

I also realize that there’s no magic bullet solution for this problem, but I do think that leveraging either the Linux or a BSD kernel at this point would do wonders for the hardware support at least, and in turn hopefully rekindle interest of Haiku among the Linux/BSD users which in my opinion are the main target audiences for Haiku.

That (replacing the kernel) does not mean that Haiku loses it’s ‘identity’ in my opinion, it’s not as if any but the very few developers actually working on Haiku will actually notice such a change, the rest of the system look and act and largely be the same, and for those who think that Haiku has some magic properties when it comes to interactivity under load due to pervasive multithreading, that might have been true back in the BeOS days, but today the Linux and BSD kernels are much better in this regard, and also scale very efficiently (as opposed to Haiku).

To make it clear, I’m not claiming that my view of Haiku’s current situation is ‘the truth’, I’m just speaking from my own perspective as someone who loved BeOS and would love to use Haiku as my day-to-day desktop OS, a prospective which seems less and less likely with each day passing.

Because Ubuntu doesn’t have Wayland?[/quote]
oh yeah, forgot wayland’s former champion jumped ship. replace ubuntu with [linux distro that uses wayland]. or replace wayland with [that thing ubuntu’s using instead]

because *nix

and yes, haiku has an app server, however haiku’s servers depend on each other, are integrated together. swapping out app server for something else would require rewriting several other parts of the system. it’d be quicker and therefore cheaper to implement hardware acceleration – gallium3D is already supported.

that has nothing to do with any linux gui itself and everything to do with applications. i talked about those earlier (remember that thing about qt4 having already been ported and the qt5 port 3deyes has been working on and is quite far along in? those are both pretty huge, and qt5 means most of kde5 and its apps (though obviously not plasma).

because *nix is not an argument… yes wayland it is a graphics server but not in the traditional X11 sense thus it isn’t very *nixy.

“swapping out app server for something else would require rewriting several other parts of the system”

So you are saying that… Haiku is poorly modularlized and not very maintainable I don’t buy that entirely. However, my take on a system where components are not easily replaceable is that… and I do know that its a design from the 90’s so this isn’t unexpected but hopefully this is fixed if R2 ever starts being worked on.

Also I am not so sure that implementing Gallium3d support in Haiku through the BeOS apis is faster… its hard to say which way is fighting against the current more. I personally am inclined to think that bringing all the graphics APIs on to wayland would make going with the flow more than any other options.

show me how it isn’t

where did i say that?

whether it’s faster or not is immaterial, it’s done.

One of the most compelling reasons for my using Haiku was the separation of the OS from legacy systems of the *nix world. Xorg is big software, and it incorporates the bloat that comes from large, entrenched consortiums. Doesn’t IBM provide most of the support for Xorg? There’s your mainframe influence. Actually, I’m not sure about that - could have been something I misread.

Anyway, there has been a backlash against the big software piles, the ones built by a few big companies - some of which have a propensity to pander bloat for profit. Not to mention any names. :slight_smile: So - Wayland is a step back from that bloat, as blowback from it, and has been done for Linux. Wow. They’re half way to where Haiku already is! Good for them. All of these little hobby OS systems use minimal, (read sleek, efficient) graphics subsystems, and sometimes temporarily rely on Vesa to ameliorate the expense of device driver writing. I love these little guys. Please don’t push them into the world of complex corporato-bloat laden systems. For instance, I’m typing this using Syllable, another nice little niche OS, tiny kernel, and wonderfully simple graphics subsystem. It’s a little like a kissing-cousin for Haiku, I might imagine. Haiku’s browser works a lot better though.