They can do this for the desktop environment programs but the vast majority of GUI programs for linux are going to use Gtk or Qt. Not having to do all the distro-side patches required to fix the GNOME dev's Gtk3 breakage (not sure if Qt is this way or not) will leave their distro much rougher than other distros when running non-Pop_OS programs.
Also, the fact that Iced Rust also targets the 'web' suggests to me it will not be a fully capable toolkit (as web cannot do what native can). Seems like they're going to be using this by themselves... and that's fine. Pop_OS has gone off on their own successfully before.
Plenty of folks use WMs like Sway that don't use GTK or QT and everything is fine. You just pick a theme and it gets passed to GTK and QT apps. I guess if you show decorations, they differ between apps, but it's really not terrible. I think we're all used to that by now, on every OS.
I'm not talking problems with DE toolkit applications. I'm saying that without the additional incentive to round down the sharp edges in Gtk3 with a custom distro patch set to get their DE working right (they won't have to because it's not gtk) they probably won't maintain the aformentioned required distro patches to gtk to fix all the frozen in bugs/feature removals. And so running gtk applications (most linux GUI applications) on these distros is more likely to have these sharp edges.
Unfortunately Canonical does not fix gtk3 either. Ubuntu after 14.04 is broken and you cannot paste file paths into Gtk3 program's File-Open dialogs without an elaborate key sequence to bring up the pathbar first. But it is fixed in gtk4, which Gnome uses, so Canonical doesn't care.
> Why wouldn't I be able to run GTK apps on their ICE powered desktop?
Of course you would be able to, just don't expect the theming to match, the menus to have similar structures, dialogs having buttons in predictable places, etc.
> isn't the purpose of WASM to make possible in web environments that which is possible on desktop environments?
I don't think so. I think this is the purpose of all the new Web APIs more than WASM. The sandboxing and the inability to call out to the system is crippling for GUIs in WebAssembly. It works well if you control the drawing and are able to output raw data to a <canvas>, but it's a hassle. WASM works the best for things like opencv or dlib, but I think the GUI for the apps compiled to WASM will need to be written in JS for quite some time, if not forever.
> Of course you would be able to, just don't expect the theming to match, the menus to have similar structures, dialogs having buttons in predictable places, etc.
I think nearly all Linux users - and most Mac/Windows users who don't remember how things were back in the XP or classic Mac era - don't realize these are even goals or something that has ever existed.
Rest assured that anyone with experience with a GTK3/4 application is going to have an easy time with the COSMIC designs. A lot of aspects will be similar. Maybe even a bit more standardized in some ways.
Maybe they mean aesthetically? KDE basically makes a clone of their Breeze theme for GTK to try to make all apps have a consistent look on KDE. I believe the reverse is true with an Adwaita theme for KDE/Qt apps, but don't quote me on that.
You can find versions for both "toolkits" even in custom themes. For the end user it's mostly a non issue. Even with different backends it looks more consistent than Windows.
That's true, but the Iced theme that they're showing in the images looks like it would be very difficult to recreate in GTK and Qt. That's not mentioning the increased amount of time and effort in maintaining those themes. Perhaps this is an area that the community will contribute to though.
The same is true with an Adwaita theme for KDE/Qt Apps. I used to do this on both, Plasma and GNOME.
These days I style my Qt/KDE apps all Breeze on GNOME and vice versa when I am on KDE, because unfortunately icon sets just don’t match up and I've run into 'invisible buttons' issues way to often.
As long as both are in dark/light mode I find this way less annoying than having to hope for a good enough tooltip on mouse over (or just tap and see on mobile).
I don't know how much of a rewrite their Cosmic Desktop is meant to be, but Iced isn't ready for anything but small, simple utilities.
Known issues include a lack of partial rendering and thus high battery usage, no support for touchpad gestures and a lack of accessibility support.
Beyond that you have the rough edges and countless paper cuts that come with an unpolished and unproven toolkit.
People really seem to underestimate the amount of work that goes in to creating a "proper" desktop GUI toolkit. You basically need to build a webbrowser minus the JS engine.
Even Microsoft has given up and basically uses WebViews wherever possible.
The COSMIC desktop isn't ready for anything either so they're a perfect match made for each other. There's no better time to invest in a new GUI library than doing so as you're already building a new desktop from scratch. Imagine how much money and effort would be wasted if we settled for GTK4 today and then later had to rewrite everything to Iced after someone else did the work for us. System76 would rather push the envelop and resolve this chicken & egg scenario instead of waiting around for consensus.
People also underestimate the talent that works at System76 and the amount of work required to bring Iced up to speed. Iced has already proven itself, and its using an architecture (Elm) which has also already proven itself. It's the best way to develop a GUI in Rust, without a doubt. Jeremy has developed an entire desktop OS from scratch, including making a GUI toolkit for it, so it's not like we're oblivious to the effort required.
Iced already has a fully functioning layout and rendering system so that webbrowser and JS engine analogy is complete. There's just a handful of features that are missing that are either partially implemented or we've already got 5 developers working on it full time to do the rest.
Not sure why System76 is going this route... Everyone is clamouring for a high quality Linux laptop and instead they're using subpar Clevo laptops and creating a new distro (with a bad case of NIH) that no one asked for...
The hardware they did make seems nice (desktop case and keyboard), dunno why they aren't parleying that into making their own laptops. Like, why buy their current laptops over a ThinkPad (which you know will be supported by Fedora since that's still what's popular at IBM) or an HP/Dell developer laptop, or any of the other "known to work" laptops?
>...and creating a new distro (with a bad case of NIH) that no one asked for
Eh, after suffering through many Gnome We-Know-Best design decisions, I would be happy for a new entrant in the space that was user focused on creating the best possible experience. An immensely tall order, but I think the demand is there.
My personal preference, and what I'm writing on right now, is Unity.
I am also very fond of the ROX Desktop.
What would I really like to see? Well, barring attempts to just rip up everything and start again for no good reason, I think there would be a lot of mileage in recreating some of the classic UIs of the past that many people have loved.
* Classic MacOS was a sublime UI, with a lot of subtle non-obvious features. In its way it was far more polished than Mac OS X, even now.
* OS/2 2.x's Workplace Shell was not one of my personal favourites, but it had some excellent design features, and was loved by many.
* I have an Amiga but I never was a big fan back in the day, but a good solid modern Amiga Workbench clone would have some mileage, and as I said in the article, there are already FOSS implementations, just not for xNix.
* GEM is FOSS now. Why not recreate DR's multitasking GEM/X on Linux, or any of the late-era multitasking GEM desktops from the Atari ST, such as Thing or TeraDesk?
One of my favourite UIs is undergoing a pretty good re-implementation effort, in the form of NeXTspace:
The last I heard, System76 has been working on their own laptop hardware. It just takes a lot of work and time, so that’s why nothing has been released (afaik).
Windows isn't "grandma" friendly based on the amount of times my grandparents called their children (several were in IT for years) and grandchildren for support over the years after breaking things...
Literally the only devices they could use without incident were Android and iOS.
I'm not a grandma, but wanted a linux that would just work pretty well with minimal effort. Pop!OS (despite the strange name) comes pretty close. I did have some trouble upgrading one version of the OS, but did get it with some help from support (I installed a 'non typical' library). Despite me messing about while trying to upgrade the OS never got into an unusable state which is impressive.
Generally a pretty good experience. I thought initially why bother with another distro, but it seems to be a good experience for me.
The Clevo machines are decent. I appreciate the matt screen and easy open/ replaceable parts (my fan succumbed to dog fur....)
> Like, why buy their current laptops over a ThinkPad
Because thinkpads are made by Lenovo who has a long history of shipping their devices will malware and backdoors in them, often in exchange for money. They've demonstrated again and again that they are willing to sell out the privacy and security of the people who buy their products if they can line their own pockets doing it. They've even put malware in UEFI so that users who reinstall their OS get reinfected over and over again.
The most famous of their abuses was "Superfish" and when the truth about superfish came out they fiercely denied there was any security risk to anyone ("we have thoroughly investigated this technology and do not find any evidence to substantiate security concerns”), then as the bad press continued they eventually admitted it was a problem and said they'd stop shipping devices infected by it, but people were still getting infected devices more than a month later (https://arstechnica.com/information-technology/2015/03/two-w...).
They published removal instructions so customers could rip the malware out of their system themselves, but the instructions they provided didn't actually fix the problem so all they did do was give people a false sense of security while leaving them vulnerable. Once third parties realized this and the bad press started again, they published revised instructions for removing it, but they were again caught still giving instructions that left many users vulnerable!! (https://www.theguardian.com/technology/2015/feb/20/lenovo-ap...)
I'm not convinced that this change is a good idea for Pop_OS, but I'll take the problems this could end up causing over handing my money and my security over to Lenovo any day.
> Everyone is clamouring for a high quality Linux laptop and instead they're using subpar Clevo laptops
Making a laptop from the ground up is hard. They do plan to do their own laptop but that's a very hard thing to do, specially doing it with profit. That is a move that could be company ending.
> creating a new distro (with a bad case of NIH) that no one asked for
I didn't ask for a lot of things that I like. And PopOS is great.
Every high quality Linux desktop needs a high quality desktop experience. Clevo isn't as bad as people make it out to be. People conveniently forget that Dell, Lenovo, and even Apple have their systems manufactured in the same region with similar factories.
I love Iced (I have tried multiple other Rust GUI frameworks) but it is nowhere near production quality - the API changes often and documentation/ guides are almost non-existent. At least this was the case two months ago, not sure if something has changed after that.
My main issue with PopOS is that it's very problematic to upgrade. The situation that really annoyed me is that their gnome widgets have their own special style classes that are not supported by most universal themes, so the only way to get a good consistent experience is to use their default theme or spend hours tracking down the specific custom styles that need updating.
If you decide to go off the rails and replace some or most of the PopOS stuff (which I eventually did), it will work, but probably break on running the next major update. This happened to me twice and ultimately had me move on to other things.
If this new approach can solve that problem, then I think PopOS! will be a much more attractive option. I will probably not go back to using PopOS! (using tiling wms now), but I would have no issue recommending it.
PopOS has a pretty decent tiling plugin, but it really only is decent. You can absolutely tell that it's bolted on. Windows open, then move and resize, etc. I can't move to it from a real tiler just yet. I get the feeling that they have gotten a bit tired of trying to beat Gnome into submission and decided that going their own way will be better for everyone. I think this _is_ one solution to your problem.
I definitely think they are going in the right direction... it's going to be better for them to have their own thing rather than tacking on a ton of Gnome plugins and calling it "Cosmic".
Subjectively to me it feels like a distro that's intentionally opinionated, which sounds like the root of most of your problems. If you're wanting to customize a bunch of GUI stuff, why use Pop_OS to begin with?
Yeah COSMIC will resolve this kind of issue once and for all. The current setup is very dependent on a person not tampering with expected features and packages.
If I understand the current capabilities of Iced correctly, and looking at their road map, there doesn't seem to be any support for assistive technologies.
So it looks like whatever System76 ends up developing won't be usable for people with disabilities?
Looking forward to trying this out. Should also give Iced a boost in popularity. I can't wait for the linux desktop to finally get rid of GTK and QT. Both have served us well but they are a product of a time long gone by.
I agree. Yes, Ubuntu, Fedora, and openSUSE have been the big 3 for a long time, and I doubt they will go away, but Cosmic Desktop is currently the main thing I'm watching for a post-C-dominated-desktop-linux.
Ubuntu is trying to go centralized control with Snap.
Fedora is like a sibling comment says, doing just enough to coast on a desktop.
I'm using openSUSE right now, so can't complain there.
The failure to adopt Inferno in its day showed we as an industry got stuck on the unixy API and we've never managed to advance beyond that to this day.
Jeremy Soller seems to be committed to providing a11y-support:
"Comments like this do not read as genuine concern. It is designed to cast doubt on a project before it is even close to release, and the kinds of people liking this are evidence of it being passive aggressive FUD posing as concern. COSMIC will absolutely support a11y on release!"
I am really happy they are is committed to that, but boy is that tone not called for. Yes, Chris is a GNOME dev, but I've been following him for a long time and so far I never saw him spread FUD.
In regards to System76, he spreads a lot of FUD. Purely because we had some technical disagreements about themes over an anti theme petition and his pet project libadwaita. He's been an ass towards us ever since. Even going so far as collecting a list of grievances out of spite. He's one of the most toxic people you'll find there. Looking forward to his next blog post.
This is great news for iced I'd say! Which is nice since it was the top candidate that came up for me when I researched how to GUI on a pinephone in rust. :)
I‘ve heard PinePhone, so I need to a) tell you about one of my little projects, LinuxPhoneApps [1], and b) tell you that it allows to filter by programming language [2]. To date, most Rust apps we list use GTK, three use Kirigami (via Corrosion IIRC), and one uses iced.
I have tried iced for a few things, and was relatively satisfied. Felt very similar to a web-based react. I'm not a rust developer (but I do have C and other low-ish level experience), so there was a bit of a hurdle, but I was able to make things work.
I'm curious how using rust+iced will go for the level of integration in the desktop, and it's at least interesting.
I would expect IPC between GUI applications to go the way of iced's Subscriptions + Commands, sending and receiving messages from a central bus or other peripheral components running as daemons.
Good. I bought Darter Pro recently and had to - business as usual under Linux - compile this and tweak that. Via things like their keyboard configurator[1] I was exposed to Rust's GTK bindings. It wasn't pretty: the mismatch between the obviously object-oriented GTK and Rust which doesn't do (and doesn't want to) OOP was glaring. I understand the appeal of Rust very well, and I'm happy they write their drivers and (parts of) firmware in it, but it's about as fit for OOP-based GUI as Go and Erlang. Which is to say - not very much.
I have used popos in the past and was very happy with it. The current install is stuck in an unupdateable mode because the underlying Ubuntu reached end of life. Once I get around to it I’ll gladly reinstall the latest.
What I liked then is the idea of privacy, which I didn’t spend a lot of time to verify and the ease with which I could play games like GTA V.
Ubuntu, Fedora/RH and (open)SUSE have been the top desktop Linux distros for 20/30 years... Sure others come and go but there's been plenty of continuity.
I also don't see Pop_OS supplanting any of the big 3...
I can. Ubuntu is decreasing in quality and Pop OS is already being billed as the better Ubuntu. It has a good commercial backing and is slowly but surely gaining popularity due to its polish.
That won't happen. It's easier to fix Ubuntu than to fix Pop. Plus Canonical has just much better engineering and resources, and have been in this game for longer. The only reason People prefer Pop is because of its theme (I find it hideous, but to each their own), that it's marketed towards gamers (I don't think there are any significant performance differences between both) and that it comes with Flatpaks instead of Snaps.
People just hate Ubuntu because of Snaps.
Larger organizations with a lot of salaries to pay are also typically risk averse and therefore much less willing to make huge bets on adventurous experiments into the unknown.
I can also confidently say that most people using Pop aren't using it because of the theme, and Pop!_OS is actually marketed to STEM and developers rather than gamers. It's just that a lot of PC gamers like what Pop!_OS has to offer to them, so it seems that way by word of mouth.
I've heard rumor that the future of OpenSUSE Leap is now in doubt.
I think Ubuntu and Fedora are both unsuitable for this purpose too, because both have a track record of pushing out dodgy stuff before it's ready (like Fedora shipping SystemD in 2011.) And Ubuntu particularly has a track record of pushing shit that's obviously DOA, like Mir, Unity, or snap. At least when Fedora does something like ship SystemD before the kinks are worked out, what they chose does eventually become the mainstream. But you're still a guinea pig with Fedora, making it a poor choice for an OEM distro.
> I've heard rumor that the future of OpenSUSE Leap is now in doubt.
Yes because the future is OpenSUSE MicroOS aka ALP. Rolling release, immutable system, all apps are containerized (Flatpak and Toolbox/Podman). Using it right now, easily best Linux desktop to date, even with a few bugs here and there.
Ubuntu and Fedora, for all the bugs and shit they've pulled over the years, are still way more usable than pretty much any other Linux desktop outside the big 3...
No, supplanting seems unlikely. But System76 also controls the release cycle for Pop_OS! whereas the others might not align with their hardware product releases. As long as they lean on an existing distro for the vast majority of software, it seems like a reasonable strategy to me.
Vertical integration works really well to control quality of your platform if you have the resources to make it happen. You _could_ make the argument that System76 is too small of a company to financially make this work, but the payoff is a better product.
I don't think anyone can claim seriously that PopOS is "tailored" for their PCs any more so than for other PCs.
Ubuntu will probably run equally well on those PCs.
The key is that the QA team validates all kernel updates and other changes on all System76 systems, and provides professional support that you can reach out to that are experienced with providing support for Pop.
I'd imagine user support has a lot to do with it, if most users stick with the OS you give them, then it makes reasoning about any problems they might have considerably easier.
Actually Red-Hat was the first Linux vendor to acknowledge there is no money to be made in the Linux desktop, so what they do is to keep the basic infrastructure of a UNIX desktop going.
It was this pivot move that allowed them to be were they are in the world of Linux distributions taking over big iron UNIX on the server room.
And now Red-Hat is basically owned by the same vendor as AIX, z/OS and i.
I wish someone would port wxWidgets to Rust. IMHO one of the best GUI toolkits out there. Easy to use and performant, works flawlessly on many (desktop) platforms.
Even better would be someone updating wxUniversal (the self-drawn version of wxWidgets) and porting it to Rust. This could be useful for a Linux desktop.
Hopefully integration story of other programming languages, like Python and JavaScript, with Iced Rust is nicer than with good old C/C++. This could make it an attractive target in ever shrinking desktop application industry.
Let's be realistic. There's only two GUI frameworks on the Linux desktop right now. GTK4 and KF5/Qt. The GUI libraries in the Rust space have been evolving over the last couple years. Soon you're going to start seeing applications written in Druid, Slint, Iced, Tauri, and Dioxus. Former Qt employees have established a company and business model around Slint. Druid and Iced are making excellent progress. Tauri and Dioxus are alternatives to Electron.
Also, the fact that Iced Rust also targets the 'web' suggests to me it will not be a fully capable toolkit (as web cannot do what native can). Seems like they're going to be using this by themselves... and that's fine. Pop_OS has gone off on their own successfully before.