You CAN'T make a "Linux app", because there is NO LINUX PLATFORM

  Рет қаралды 65,720

The Linux Experiment

The Linux Experiment

Күн бұрын

Пікірлер: 584
@TheLinuxEXP
@TheLinuxEXP 3 жыл бұрын
The first 1,000 people to use this link will get a 1 month free trial of Skillshare: skl.sh/thelinuxexperiment11211
@thatguyalex2835
@thatguyalex2835 3 жыл бұрын
@1Luis Actually, that is a valid question. He probably had this video as a premiere, so he posted the premiere 3 days ago (11/11/21) and the the comment and scheduled release date for 11/14/2021.
@AdamsTaiwan
@AdamsTaiwan 3 жыл бұрын
Would be nice to see a Linux UI added to .Net Core.
@fatbeard8072
@fatbeard8072 3 жыл бұрын
I am just glad there is Linux at all, all those Distro's and all those developers. Thank you all. Nothing is perfect, but I feel l have learned so much because of that fact.
@edstar83
@edstar83 3 жыл бұрын
kzbin.info/www/bejne/gGLFc3png9l_Z5o
@ccroy2001
@ccroy2001 3 жыл бұрын
Thanks I learned something, since I'm not a developer. I don't think much about constructing an app, theming, and so on. Makes me respect people that develop Libre Office, GIMP, and Firefox. These are close to "default Linux apps" available on many distros/desktops and even other OS like Windows.
@mrbladestone
@mrbladestone 3 жыл бұрын
In your KDE customization video, you mentioned that the 'Layan theme' has a GTK variant and you applied it for GNOME apps. So maybe when Desktop environment makers would define guidelines more precisely, the Theme makers could make themes which has multiple variants combined together (e.g. GTK + KDE + Pantheon themes). So you apply a single theme and it adapts to the type of app you open. This way apps still look distinct and you instantly know how to navigate them and the desktop doesn't look bizarre at the same time.
@MyReviews_karkan
@MyReviews_karkan 3 жыл бұрын
On Manjaro, any theme you apply, automatically applies to all gtk apps on the system. I don't know if this is manjaro specific, or if it's just kde in general.
@encrypt3d587
@encrypt3d587 3 жыл бұрын
@@MyReviews_karkan That's a general KDE thing. You can set the same sort of thing up on a standalone WM as well, it's really only Gnome that doesn't like cooperating with outsiders (no surprises there).
@travisgoesthere
@travisgoesthere 3 жыл бұрын
That isnt the Linux philosophy. If you want standards and everybody doing the same thing then thats when you use Windows or Mac. In Linux you make it the way you want and it will always be that way. Linux isnt a corporation. Its just independent developers creating. If you want change then learn to code and help the community develop
@Lucretia9000
@Lucretia9000 3 жыл бұрын
@@encrypt3d587 Not on my plasma, gtk theme is separate.
@encrypt3d587
@encrypt3d587 3 жыл бұрын
@@Lucretia9000 Hmm maybe things have changed, I haven't been on Plasma in a solid year or so.
@dinckelman
@dinckelman 3 жыл бұрын
With Qt becoming more "multiplatform", through Maui, it would be nice to see apps built on top of that and/or Kirigami
@fuseteam
@fuseteam 3 жыл бұрын
Feels like maui is a platform on its own
@alienews0
@alienews0 8 ай бұрын
what do u mean "becoming" ? i develop in qt/c++ since 20 years and it has always been cross-platform i deploy my apps from a unique source onto windows/linux and osX (now macOS) and nowadays i also deploy for android (and could for ios but didn't yet, cause of the store price) and the only compile directive i have are for very specific OS oriented code pieces
@puffin_000
@puffin_000 3 жыл бұрын
I'm guessing that when people talk about developing applications for Linux they are lamenting package managers and distributions, just as we call GNU/Linux based operating systems just Linux.
@maxsievers8251
@maxsievers8251 3 жыл бұрын
We shouldn't hold the number of operating systems based on GNU and/or Linux against GNU and Linux. Every distribution is an operating system of his own. Since most GNU/Linux distributions are based on either Debian or Arch with a package for both you would go far. But we have to ask why isn't this app in those repositories already? Probably because it's proprietary software. And in that case there is no reason to use it.
@thatguyalex2835
@thatguyalex2835 3 жыл бұрын
There needs to be a standardized Linux operating system. I hope Steam OS, or Ubuntu are that future distro. :) It gives people choice paralysis, to chose from 100 distros.
@Kromiball
@Kromiball 3 жыл бұрын
@@thatguyalex2835 Everyone still needs choice! Just tell the beginners to choose between a few distros and ignore the rest. Then once they've become accustomed to that distro, they could start checking other distros. That's how I think beginners should approach Linux.
@thatguyalex2835
@thatguyalex2835 3 жыл бұрын
@@Kromiball Yeah, but too much choice bruh? When half the distros are crap, and have terrible UI, or unprofessional names? I don't want to judge too hard, but Gnome sounds like a Disney kids OS, and Gnu sounds odd. We just need Manjaro, Mint, PopOS, Steam OS, Elementary and Ubuntu. No more, no less. ;)
@mao5170
@mao5170 3 жыл бұрын
@@thatguyalex2835 not possible, people will disagree on the anything, I for one don't agree with Manjaro. I think it's garbage.
@AssafHershko
@AssafHershko 3 жыл бұрын
It's an interesting take on the subject, though you somewhat depart from normal usage of language here. At the end of the day, from the user's perspective there's certainly such a thing as a "Linux app", just like there's a "Mac app" or a "Windows app" (and even more so when you take into account universal packaging methods such as AppImage or Flatpak). Challenges around themes, for example, may make apps look out of place at times - but the apps do exist.
@kuhluhOG
@kuhluhOG 3 жыл бұрын
@Marcin Berman especially because if you compile with certain flags, it may be linking incompatible (depending on language)
@afuyan
@afuyan 3 жыл бұрын
I absolutely agree with this, also back then in FP compiler Mac compile target is named as Darwin which is makes a lot confusion. Using term like Linux is totally different than Darwin case since people already being used with the Linux name and the app is running under Linux kernel, Linux thread scheduler and etc. "There's no unified platform", this is why I always ranting with his last videos recently, he doesn't understand software development at all. I can use Linux kernel-only app by using FPC to run complete with GUI with no X server or Widgetset like GTK or QT, something that he doesn't understand. Because there's many display server, widgetset, window manager, etc… It's doesn't make it not a Linux app. Even with Android, it's actually still a Linux app, this one now became like a Darwin case, to make it less confusing they using arm-linux-androideabi compile target for native Linux library for Android, it's still Linux app, what makes it Android app becase it's require JNI interface to make it easier to sandbox app. You can even run normal Android app with a common Linux distro that using a normal Linux kernel though. Android app is just like a KDE App or Gnome App to me, they're still run under Linux after all. But yeah, he's just a random Linux kiddy that just fun tweaking with his distro theme, I mean he doesn't even make a reall Linux app and don't know the nightmare of GTK+ break everything every 2 minor version updates that's why I don't want to develop any app using GTK widgetset.
@afuyan
@afuyan 3 жыл бұрын
Also you can't run Windows app that using QT framework or KDE framework in Windows if your Windows don't have it or if the app is not bundled with the libraries. That just reminds me the early Kdenlive for Windows. Audacious in Windows also using GTK like for whatever reason. And there's come some lazy developers using NET framework, VM languages like Python, Java and Javascript with their stupid garbage collector that slow down my desktop. Just look at stupid _apt process written with Python running for dist upgrade that eating all CPU cycles in some distros.
@laurinneff4304
@laurinneff4304 3 жыл бұрын
@Marcin Berman this is what AppImage and Flatpak solve, with AppImage you bundle the libraries with your code, and with Flatpak you say "hey I need GNOME Platform 41" and then you get GTK 4.whatever + some other libraries, and for libraries which aren't in the runtime you can bundle then with the app
@TonyVisconti
@TonyVisconti 3 жыл бұрын
@Marcin Berman This is the reason why snap exists.
@CesarPeron
@CesarPeron 3 жыл бұрын
That's the main reason why "The Year of Linux Desktop" is impossible. Even a user with the all desire, time and advanced knowledge, going through that learning curve is traumatic... I have been using GNU/Linux for more than a year, I have learned to install and configure Arch Linux from scratch, but I still have a hard time understanding such fragmentation, especially from apps
@altrogeruvah
@altrogeruvah 3 жыл бұрын
Although I've been using Linux for a while, there was something that Linus said on that recent Linux challenge video that resonated with me: "I don't want a dozen novel ways to do the same thing, I want one fast and easy one" Freedom is good, but too much freedom is counterproductive, especially on a professional framework. App developers and distributors like structure, finite linear paths towards distribution and realistic expectations.
@thingsiplay
@thingsiplay 3 жыл бұрын
Problem: The one fast and easy one for him, is not the ideal way for the other guy. Solution: Multiple operating systems that focuses on specific group of users. Problem: Fragmentation... Correction: Fragmentation is not a problem, it is the solution! Windows biggest problem is, it tries to fit to everyone. Linux biggest strength is, it fits everyone.
@Tom-vg5nb
@Tom-vg5nb 3 жыл бұрын
@@thingsiplay yet the adoption is minuscule. So what Linus said is true. In a production environment I want one time efficient way to do something. It needs to be easy to access and easy run. Production environment is about efficiency. For home use I run macOS and Manjaro. I recently created a samba file server for my families media and back up files. I like Linux kanji news and I love all of the option for personal use, but when I am in a professional production environment or using a software appliance in the wild, I will go with the easy time efficient route every time.
@fuseteam
@fuseteam 3 жыл бұрын
Linus is correct, but he's also a fresh user. He talks of linux as if it is an operating system.....it's not .... Now hold on, lower your pitch forks. I'm not saying "linux is a kernel" we clear? Good. So what is linux? Linux is a platform.......of interoperable operating systems ;) Every single distro is its own operating system. And every single DE is an incomplete platform xD
@thingsiplay
@thingsiplay 3 жыл бұрын
@@Tom-vg5nb The problem is, I don't want one way only. I like the choices. I don't want to be forced to do the way Linus does. He don't like the terminal and wants to have everything in a GUI and calls this one efficient way? If one efficient way was implement, then it should be the terminal, because I want one efficient way. See what I am trying to tell you? Someone has to make the decision what is the one efficient way. Someone else does not like the decision. That is why we have distributions and the choice. And if you read my reply, I said we need distributions with more focus on one way. So I don't even disagree... But don't force this one way for all distributions. Because Linus should not decide for everyone.
@altrogeruvah
@altrogeruvah 3 жыл бұрын
@@Tom-vg5nb Fellow macOS + Manjaro user here! Exactly what I was going to say. We all bore each other with trivial semantics of what Linux is and isn't ("Linux is not an OS, it's a kernel") and endless theories on what Linux _could have been,_ when we could have been spending all this time building a stable infrastructure for developers to be porting cool apps. I'm glad eOS is focusing on aforementioned things, they're building their own image of Linux's future and if no other distro wants to follow, well, there's your freedom I guess.
@rickbhattacharya2334
@rickbhattacharya2334 3 жыл бұрын
I agree with you , the fragmentation and distributed nature of Linux is preventing it from developing a platform. Example : even though I myself use Arch and Ubuntu , i generally make Linux binary as app image or deb package and currently I am planning to only develop as app image. Yes it's bigger than other formats but atleast i can make sure that it's atleast gonna work.
@hermespymander9167
@hermespymander9167 3 жыл бұрын
With app image launcher is way easier to use
@VictorRodriguez-zp2do
@VictorRodriguez-zp2do 3 жыл бұрын
I agree, whenever I want to get something installed on don't want to deal with nonsense I either pick and app image or a flatpak. It's the only way I can be 100% sure a piece of software is going to work.
@whythosenames
@whythosenames 3 жыл бұрын
sad rpm noises
@lsdowdle
@lsdowdle 3 жыл бұрын
I'd say that QT and Flatpak have an advantage here... at least if we are talking about multi-platform graphical desktop applications. QT is multi-platform and in theory a developer can write the graphical stuff once and have it render as the native look on whatever OS it is run on... or have a more generic look on all the platforms but look the same across them. Flatpak has platform packages so the app developer doesn't necessarily have to include all of the QT/GTK stuff wtih their application. In response to the commenter who was complaining that QT has an interpreted language on top... and that they don't like C++... I believe they were referring to the Javascript stuff used by KDE Plasma... but if you aren't running Plasma, that shouldn't be an issue I don't think. Also, QT has bindings for a large number of programming languages and you don't have to use C++ although bulk of KDE Plasma and all of its libraries and applications are written in C++ so that shows that it isn't necessarily more messy or difficult.
@Blueeeeeee
@Blueeeeeee 3 жыл бұрын
What about a Freedesktop platform ? I feel like that should be our solution.
@alexray4969
@alexray4969 3 жыл бұрын
sounds more like a nightmare to me tbh
@Blueeeeeee
@Blueeeeeee 3 жыл бұрын
@@alexray4969 Why ? Maybe it would be evolving too slowly ?
@kuhluhOG
@kuhluhOG 3 жыл бұрын
@@Blueeeeeee freedesktop so far only really goes about managing backend stuff (aka things users should never have to even know about if done properly) so this would require a lot of people (Gnome, elementary OS, KDE developers) to go and be okay that also frontend things are going to be managed together (including HIGs)
@akza0729
@akza0729 3 жыл бұрын
That's bad. It's better to use it for legacy apps that's discontinued development in something like a toolbox sandbox.
@Psychx_
@Psychx_ 3 жыл бұрын
The freedesktop platform is already there and it's actually what enables flatpak applications. It even ships the correct userspace parts for nvidia drivers into the containerized apps automatically. Theming integration is still a bit problematic though.
@jeratzel
@jeratzel 3 жыл бұрын
That's the real benefit of flatpak. You can target one platform and be ready available in others as well!
@JahidulIslam
@JahidulIslam 3 жыл бұрын
Flatpak is more like a package delivery system.
@marknefedov
@marknefedov 3 жыл бұрын
@@JahidulIslamThey provide the Freedesktop environments with fixed set of libs that developers can target.
@orkhepaj
@orkhepaj 3 жыл бұрын
is that another container thingy right?
@kuhluhOG
@kuhluhOG 3 жыл бұрын
@@orkhepaj kinda yes and kinda no while it does use kernel namespaces in the background, flatpak also provides APIs for communication with programs outside of its namespace additionally the make use of runtime (essentially bundles of commonly used libraries) can be shared (obviously in a readonly way, because there is no reason why e.g. your text editor should be allowed to write to a compiled library) additionally you can configure permissions (e.g. you may not want your browser to have write (or even read) access to your all of your file but e.g. only "Downloads" just in case a security flaw gets exploited (yes, they are fixed fast, but you are already hacked, so what are you going to get out of the fix?))
@ricardosteijn4693
@ricardosteijn4693 3 жыл бұрын
Developing for Linux comes down to the choice of either QT or GTK. Developing for a Gnome or KDE "platform" would be unnecessary, as QT apps work on Gnome, and GTK apps work on KDE. As a matter of fact, QT and GTK work on literally every Linux distribution out there. You only need to install the gtk-3 and qt5 packages packaged for your distribution. Both work on X11 and Wayland. The only hiccup with QT is that you need to set specific environment variables for the theming and Wayland on anything that isn't KDE. In terms of packaging apps, that's usually done by volunteers in the Linux community. (Thanks!)
@JahidulIslam
@JahidulIslam 3 жыл бұрын
How can you be so sure that distro will package this app and put into their repo? Probably close to zero for new apps. Unless the developer package it himself. I would rather like to have flatpak or appimage for that app, so that I don't have to rely on distro package. It would be better if the distro maintainers focus on building solid, secured and robust base OS and keep the user facing apps completely separated from the base OS.
@AdamDymitruk
@AdamDymitruk 3 жыл бұрын
Well, Ubuntu is moving to dart/flutter, so there's that. I think the installer is the first one they did themselves. That's an easy framework.
@Zephyrus0
@Zephyrus0 3 жыл бұрын
Major of the developers use gtk or qt, it's unlikely that's going to change anytime soon.
@-bazoona3654
@-bazoona3654 3 жыл бұрын
@@Zephyrus0 yeah
@andirsun
@andirsun 3 жыл бұрын
Actually who cares if it's GTK QT or Flutter, we need Apps !!
@Zephyrus0
@Zephyrus0 3 жыл бұрын
@@andirsun the developers does, because they're the ones making it, hope you understand. :]
@kuhluhOG
@kuhluhOG 3 жыл бұрын
@@Zephyrus0 Yes, they care, but Flutter is (comparatively) young. So who knows how many Flutter apps are going to be there in the future. Most developers are going to use the one they already know, the one they enjoy the most or the one the find the easiest to use, so we will see how things are going to turn out.
@szaszm_
@szaszm_ 3 жыл бұрын
I don't get why GTK is the more popular toolkit that even elementaryOS chose to use. Qt is just technologically superior partly because it doesn't need to hack an object model into a language that doesn't have one, with overhead.
@Zephyrus0
@Zephyrus0 3 жыл бұрын
Licensing
@wacesferpit
@wacesferpit 3 жыл бұрын
GTK is lighter anyway (qt runs an entire interpreter for an extra language just for the ui), works with C instead of the mess of C++, doesn't have an sketchy company behind
@wallyhackenslacker
@wallyhackenslacker 3 жыл бұрын
It's pretty much a moot point, imho. Qt even defines a kinda-sorta metaclass system on top of C++ iirc.
@1pcfred
@1pcfred 3 жыл бұрын
Qt is owned by a corporation.
@cacodemon345
@cacodemon345 3 жыл бұрын
@@wacesferpit GTK also insists on custom-theming itself on macOS and Windows which Qt doesn't. If it were to abandon that custom theming stuff completely on such platforms it would become a better Qt alternative for cross-platform development.
@absolutelyproprietary6896
@absolutelyproprietary6896 3 жыл бұрын
Python and qt... It just works on every system with a little bit of fine tuning
@catto-from-heaven
@catto-from-heaven 8 ай бұрын
Its performance is a joke
@fisyr
@fisyr 3 жыл бұрын
I don't know modularity is actually one of the main reasons I am on Linux. I get that having something standardised would get more apps shipped to Linux based OSs, but I feel like it'll make Linux lose what makes Linux great: user choice.
@akza0729
@akza0729 3 жыл бұрын
Modularity. It's a dependency hell hole. Why do you think a Chromium Flatpak has 1GB size ( depending on the DE )? Linux Desktop need a well designed, cross compatible solution.
@laurinneff4304
@laurinneff4304 3 жыл бұрын
@@akza0729 Most of that 1GB isn't Chromium itself, but the runtime it uses, and that's shared between different apps
@akza0729
@akza0729 3 жыл бұрын
@@laurinneff4304 But from a User Experience standpoint, as far as they are consider, Chromium is 1GB with it's dependency.
@nmrocks28
@nmrocks28 3 жыл бұрын
@@laurinneff4304 in case of a flatpak, no, the dependencies and runtimes are not shared among apps
@laurinneff4304
@laurinneff4304 3 жыл бұрын
@@nmrocks28 but they are, as long as the different packages use the same versions
@Guss-TR
@Guss-TR 3 жыл бұрын
There is literally a universal app-image format that developers use for exactly what you're describing.
@TheLinuxEXP
@TheLinuxEXP 3 жыл бұрын
No that's just packaging and distribution. It doesn't give Developers a clear and easy path to develop for "linux" as a whole :)
@Guss-TR
@Guss-TR 3 жыл бұрын
@@TheLinuxEXP I develop exclusively with that because it's universal.
@kritagyagupta9356
@kritagyagupta9356 3 жыл бұрын
when people are referring to developing "Linux apps" what they really mean is to develop apps for the "Linux family", Could be individual like .Deb for Debian and .rpm for red hat based distros, or it could be universal like appimage and snaps
@JohnSmith-ev1sm
@JohnSmith-ev1sm 3 жыл бұрын
The problem with platforms, is that they take away your freedom and then lock you in. I write a program for elementary (let say) and tomorrow they say that "from now on double click is not supported, and the dock is going away". They do not support your preferences, so you have to move off elementary; and now my app is locked to elementary so that was a complete waste of time. Developers need to think REALLY HARD about giving up your freedom, because the platform will at some point make changes you don't agree with and they will tell you to shove it where the sun don't shine. This is not a paranoid worry, this is something that has happened already with gnome, and with elementary (now changing the single-double click mouse model).
@spartanbeef9491
@spartanbeef9491 3 жыл бұрын
You were using platforms from the moment you built your app. You probably picked GTK, or QT to build it. Those are frameworks that limit what you can do, and if you go to them and complain they'll tell you to uh "shove it where the sun don't shine". You probably chose between Xorg, or Wayland, and each one imposes it's own set of restrictions and limitations on you. Hopefully, you built your app to respect the FHS but that's a limitation as well. The thing is, if you built your hypothetical app with interoperability in mind it'll still run just fine on Gnome, or KDE, or even Qtile. Sure, it might look a bit out of place, and might not behave in the way platform users expect, but it'll run. In that sense, Desktop platforms are by far the least limiting choice you can make.
@JohnSmith-ev1sm
@JohnSmith-ev1sm 3 жыл бұрын
@@spartanbeef9491 GTK and Qt are not platforms, they are toolkits. The point of my post is that the maker of these platforms can't be trusted with control over my application that I develop, as they will make philosophical decisions that hurt me or that I don't agree with. The more and tighter you integrate, the less control you have as a developer and user. A toolkit is not tight integration and is no different than using a database or other API. Scary how little this is being talked about, we're going to regret this move.
@spartanbeef9491
@spartanbeef9491 3 жыл бұрын
@@JohnSmith-ev1sm It's exactly the same with everything else I've mentioned. You can throw around semantics about toolkits, frameworks or platforms all you want. They all have control over your application, and they can all make choices you disagree with philosophically. It makes no sense to be OK with one, but concerned about the other, and like I said before, platform integration is the easiest to avoid. You say that platform integration is tighter than toolkit integration. How? If a platform does something you don't like, you can just say no. What are they gonna do? They don't control your app. They don't control the distro's that use their platform. They can't even stop you from using their integration, and anyone who agrees with your viewpoint can just stop using the platform. A toolkit controls the fundamental look and feel of your app. They decide they don't want you to use a certain control anymore? A certain mode of interaction? You can't. Or you're stuck using a deprecated toolkit which fewer and fewer people are using, and which may even have vulnerabilities. You want to change toolkits? Better rewrite a large chunk of your app, not to mention the time investment of choosing and learning an alternative. And we haven't even touched on Display servers, audio servers, Init systems... I understand your concern about being forced into positions you disagree with, but I think DE platforms are a long, long way down the list of things you should be worried about. Maybe you can give me a concrete example of your worst case scenario? Because I just can't imagine something worse than what the aforementioned tools could potentially do.
@JohnSmith-ev1sm
@JohnSmith-ev1sm 3 жыл бұрын
@@spartanbeef9491 Nobody writes code from scratch. We need to use a gui toolkit, we need to use a database engine, or an xml client to parse xml files; but these couplings are far far "weaker" than using a framework which controls every aspect of your application. Unless you're a developer with some years behind you you may not get the difference. If I use GTK, I can run my app in any desktop like Cinnamon or Mate or XFCe, but when you use Adwaita you're locking yourself tighter and tighter onto "just Gnome." And since they control Adwaita, they control your application. GTK is just a toolkit, they don't enforce any of the brain dead gnome decisions, that's the point of Adwaita; gtk stays a simple toolkit, adwaita gets the horrible gnome stuff. So when you target adwaita, you target the "gnome platform".
@AnzanHoshinRoshi
@AnzanHoshinRoshi 3 жыл бұрын
Thank you, Nick. Yes, porting to the different standards is time consuming. But the programs that we have, that are all GTK and a few Qt, are exactly what I want. There are a few Android apps I would use but they have browser versions, so I'm fine.
@AcidiFy574
@AcidiFy574 3 жыл бұрын
What about MauKit??
@Zephyrus0
@Zephyrus0 3 жыл бұрын
@@AcidiFy574 maui is qt technically because it's derived from kirigami framework.
@bulend81
@bulend81 3 жыл бұрын
architecturally, linux is a mess
@jothain
@jothain 3 жыл бұрын
Absolutely. There's bit too many similar projects going on in UI side.
@amineabdz
@amineabdz 3 жыл бұрын
100% true, packaging and distribution on Linux OS is a nightmare, i made an app that is written to be platform independent, yet i still recommend users to download the Windows binaries and run it through Wine instead of building the program from source.
@bthegawd8113
@bthegawd8113 3 жыл бұрын
Linux fragmentation is the sole reason why it’s difficult to develop and distribute your application. Every distro is always trying to reinvent the wheel and have their own way of handling packages. We need to abandon all the small irrelevant Linux flavors/package managers and focus on just a few distros.
@Don_XII
@Don_XII 3 жыл бұрын
Yes.
@MyReviews_karkan
@MyReviews_karkan 3 жыл бұрын
It's kind of this now already. A lot of the "major" apps make either a flatpak or just one for Arch (AUR), a .deb and an .rpm. for example, I use protonVPN, and they do just that, an .rpm, AUR package and a .deb package.
@Don_XII
@Don_XII 3 жыл бұрын
@@MyReviews_karkan This is exactly his point and the video's point. That's a lot, too much actually. It would be so much easier if there 1 standard way that all package managers use. There should be a universal package that works across all distros and package managers. Would be better if there is also a universal package manager. Because it's chaos right now.
@fuseteam
@fuseteam 3 жыл бұрын
Distros don't matter, desktop enviroments do. There is no one size fits all therefore desktop environments are becoming platforms
@bthegawd8113
@bthegawd8113 3 жыл бұрын
@@fuseteam then scrap all the other DE’s and focus only on gnome or kde and call it a day. That would solve a lot of problems and focus all the wasted development resources that would be working on fringe desktops.
@fuseteam
@fuseteam 3 жыл бұрын
"they probably won't go snaps" Spotify: heyyyy
@marinlos
@marinlos 3 жыл бұрын
And Microsoft too... Not that I care, but honestly some developers may find snap appealing
@fuseteam
@fuseteam 3 жыл бұрын
@@marinlos they are! partially because snaps are so close to the appstore experience
@marinlos
@marinlos 3 жыл бұрын
@@fuseteam exactly
@breadpirateroberts4946
@breadpirateroberts4946 3 жыл бұрын
this is the problem that snap and flatpak are trying to solve as far as applications. you dont develop an app "for linux", you develop for a distro-agnostic platform that runs on linux. the only thing close to those in terms of software availability is AUR (which is just a bunch of user scripts, basically a PPA on steroids). This is probably the future as far as new developers coming to linux. As far as apps from GNOME/KDE etc looking different thats completely fine IMO as long as they respect universal dark/light theme API
@PixLgams
@PixLgams 3 жыл бұрын
I know I'm splitting hairs but PPAs are all about each vendor having their own package sources; the AUR is one central, unified repository. Therefore "PPA on steroids" would be more akin to Portage's overlay system.
@breadpirateroberts4946
@breadpirateroberts4946 3 жыл бұрын
@@PixLgams I meant in the sense of it being PPAs without the headache of having to worry about multiple user repositories on a system, instead just one giant one. Ive only used portage overlays like once so the comparison didnt come to mind but yeah
@salemyaslem9792
@salemyaslem9792 3 жыл бұрын
5:16 I'm as Developer will choose Snap because it easier to build packages for and I will get Snapcraft tools like statistics, auto build, channels, security notification and more
@Zephyrus0
@Zephyrus0 3 жыл бұрын
More power to you on that.
@NKC-uj3ev
@NKC-uj3ev 3 жыл бұрын
This.
@afriendonline8564
@afriendonline8564 3 жыл бұрын
You can get at least some form of statistics, auto builds, a beta channel, update notifications and so on with Flatpak. Sure some of that could be expanded or made easier, but it does exist.
@Your_Degenerate
@Your_Degenerate 3 жыл бұрын
I think we can all get united behind a universal dark theme.
@TheLinuxEXP
@TheLinuxEXP 3 жыл бұрын
Yes!
@1pcfred
@1pcfred 3 жыл бұрын
I do not use dark theme anything.
@arkoprovo1996
@arkoprovo1996 3 жыл бұрын
I think this boils down to a method of programming which centralized OSs like macOS created. Devs needn't worry about the things that the OS is supposed to handle, because they shouldn't - the easiest example being window title bars. What Linux really lacks is a universal GUI language. The beauty of Linux is its modularity. And coming to UI/UX, not everyone can buy i7 16 GB RAM bourgeoisie computers to run them on. So, I'd rather people instead of targetting platforms worked to create a system where with minimal change, apps could be made to compile based on the systems they target. And I don't mean by redundant coding (if GTK, this, if Qt, that, etc.), but by a framework that a compiler interprets and fills in the blanks.
@mk72v2oq
@mk72v2oq 3 жыл бұрын
Can't agree. This is maybe the case with GUI apps. But Linux is much wider thing than just your desktop environment. It's not even an OS-restricted thing. There are lots of terminal and server apps that don't care and simply run on any Linux. E.g. I use coreutils, zsh, htop etc. on my Android phone. Regardless of this is another platform and whole different OS. You always can develop standalone binaries which will have only one requirement - the Linux kernel.
@CathrineMacNiel
@CathrineMacNiel 3 жыл бұрын
okay cool. but how does your comment is contrary to Nicks Statement of the video? The DE is what will be used by the wide audience, so it should have a unified look, if that isn't achieved Linux Desktop will never be a widely adopted thing.
@mk72v2oq
@mk72v2oq 3 жыл бұрын
@@CathrineMacNiel his statement is just not true for Linux as a whole. "Desktop Linux with Desktop Environment" segment is utterly small comparing to the whole Linux world. The kernel itself is everywhere, and you can, I'll repeat, YOU CAN make an app that will compile and run on any architecture and any OS running Linux. Normies just don't understand how powerful this is, they only know apps as "some window with buttons".
@wallyhackenslacker
@wallyhackenslacker 3 жыл бұрын
The server and desktop use cases are simply worlds apart. Nick is talking about a desktop platform, not a server platform.
@CathrineMacNiel
@CathrineMacNiel 3 жыл бұрын
@@mk72v2oq I mean yeah you can get any kind of application, even compile it yourself. But calling regular users "normies" shows already your disregard for one of the biggest motivators for bigger companies to actually develop for linux. So if Linux users keep this mentality, Linux Desktop will NEVER be a thing, not next year, not the year after that or the next decade. Linux as a server, sure thats a given, but anything else? Nah.
@mk72v2oq
@mk72v2oq 3 жыл бұрын
​@@CathrineMacNiel of course there is disregard. Regular users and big compaines bring all this cr*p with em that we are trying to evade by using Linux. Free and open software will never be popular, "regular users" don't want freedom. Linux kernel doesn't mean that an OS and running apps will be free/transparent/open source. In fact e.g. majority of Android devices running proprietary firmwares are one of the most restricted things in existence, and also Mac running BSD kernel. Big companies will not support the free software, they will just make their own closed proprietary distros with their own environments and apps. So what's the point.
@JauStudioFR
@JauStudioFR 3 жыл бұрын
You know, most winsh*t devs don't care about gnome and kde or distros. The project is developed on Microsoft Visual crap. We can say there is a "Linux Plateform" for these people and game developers (who also are the same since Unreal Engine and Unity are made using it). For us, it's just a "make" in Linux output mode and put it in Itch.io or Steam.
@JauStudioFR
@JauStudioFR 3 жыл бұрын
@@sbef What are you talking about ? Let me rephrase : Nick was talking about porting to Linux, where there is no platform, just distributions. I'm telling him that to most developers working on Windows, there is. He is totally right about cometic aspect, but in the end, when it comes to porting software, it doesn't matter. There is a "Linux platform". Just raw, without integration, but when we build the project, it works on almost any desktop Linux distribution. What I mean is : If a dev tells you it's impossible to make a Linux App, it's B.S. It won't look good, but it can be ported and work on any desktop distro. Most Windows softwares are using Microsoft tools, and other libs are included with the software. You can make an Appimage or just give an archive. Windows users are accustomed to downloading from websites. It's not a big deal at all. Adobe could do it anytime, like everyone else. They just don't think it's important. Epic doesn't even care about compiling the Linux Unreal Editor. Do it yourself... I don't insult devs (I'm one even if I was forced to deal with Microsoft things), I hate Microsoft for many reasons including closing their OS while playing freedom defenders against Apple, trying to take over everything in high-tech many times in their existence, or putting a backdoor for spies in their OS... and spywares in general. Or the fact that their first OS was stolen... Or the fact that they are trying to make you buy a new OS when they said W10 was gonna be a rolling release. Many reasons. So yes, I was rude, I'm sorry. But sometimes, when I think about GAFAM, I tend to lose my good manners.
@WilliamLious
@WilliamLious 3 жыл бұрын
An application is a system of presentations and transformations. Everything else is fluff. This gives means to create a platform definition without imposing the specific elements such as UI. Seperate components (platforms) attach to transformations then allow for the expression of this fluff. This allows others creativity.
@fuseteam
@fuseteam 3 жыл бұрын
Have you ever develop an app for linux?
@DrasLorus
@DrasLorus 3 жыл бұрын
I've seen some Dragon Age: Origins, that 've finished for the second time recently. You definitely are a man of culture.
@TheLinuxEXP
@TheLinuxEXP 3 жыл бұрын
Amazing game!
@Cuperino
@Cuperino 3 жыл бұрын
I was going to say there are 3 platforms, but you got there before me. One thing I must add is you can develop software with any of these platforms and distribute it on various other platforms, even commercially, for as long as you respect the terms of each library's license.
@zekicay
@zekicay 3 жыл бұрын
Also, if you tell me that Windows is one platform, which one is it? Win32? WinForms? WinRT (deprecated), Modern (deprecated), UWP (emerging)?
@TheLinuxEXP
@TheLinuxEXP 3 жыл бұрын
Windows also doesn't have an app development platform
@naveenreddy9232
@naveenreddy9232 3 жыл бұрын
You upload videos frequently I like it and I learn new things every time I watch, thank you
@alienews0
@alienews0 8 ай бұрын
0:11 no, this is not meaningless at all. It's a framework choice. For example I choose Qt/c++ as my dev platform for 95% of my GUI projects, so I can (and do) deploy my code for windows and macOS and linux and android and ios and even more. The truth is most developers chose to develop for microsoft windows with a microsoft framework. If you develop in open source with a cross platform framework or a cross platform language (for a command line app i can often go pure c++ and still deploy everywhere) then the community of any OS can pack your app for their OS without issue (as long as u provide a minimal doc, like for example "for ease of use, you should start the app on boot after the network is up" and then people will create the package/installer accordingly So yeah people are right to complain about dev choosin microsoft side, as most of us don't choose the open source side nor the cross platform path
@brunoais
@brunoais 3 жыл бұрын
What you are bringing is very hard for me to grasp... I use xfce but then I use some KDE apps, GNOME calculator and multiple generically themed apps.... Almost all of them all have their own themeing... That never bothered me. I never needed consistent theming. Some come with black theming, others come with bright theming... They are mostly inconsistent but I don't mind that at all... Maybe I don't get it because it's just something I don't really care... In customizations, I changed the icons from too white to more gray middle ground, removed the bottom panel and moved the top panel to the bottom, made it #999999; added whisker menu, dockbarx and that's it.
@monkev1199
@monkev1199 3 жыл бұрын
The argument that there should be a "Linux platform" isn't reasonable in my opinion. It's like how Windows and macOS exist, there is no one size fits all configuration. It is more reasonable to work on the platforms being on the level of desktop environment or distribution. But then you may ask, why is the ecosystem so fragmented then after the formation of these platforms. Maybe there are niches or large groups of people who don't have a platform that meets their needs.
@fuseteam
@fuseteam 3 жыл бұрын
That's why there are emerging linux platforms, the different linux platforms don't all have to the same, just interoperable ;)
@fuseteam
@fuseteam 3 жыл бұрын
The tldw is Desktop Environments are becoming platfroms
@carlosflores4179
@carlosflores4179 3 жыл бұрын
As always, great video! The main reason I use eos is exactly what you're talking about. Having consistent apps for me is very important.
@TheLinuxEXP
@TheLinuxEXP 3 жыл бұрын
Yeah, it's vital
@hernantz
@hernantz 3 жыл бұрын
Another option is to split libraries and UI, so a kde app and a GTK app can both use the sabe underlying library
@kazzTrismus
@kazzTrismus 3 жыл бұрын
do linux dev's think android DIDNT learn from the problems in the linux community that we still havent corrected?.........cuz thats exactly what they did
@Lordofrimgs
@Lordofrimgs 3 жыл бұрын
It's mid night for me, it makes me happy to see your video!
@firstnamelastname2298
@firstnamelastname2298 2 жыл бұрын
3:47 yes, you can. What you cant do and what you SHOULD NOT be able to to - is to rely on your personal configuration. However, same applies to windows and macos. This is why lots of windows apps bring all the required DLLs with them, so you have a lot of duplicates. You definitely can do the same with Linux, but you should not, because for linux there is another way: there IS standard how the app should look for required shared libraries. READ IT! Remember this: Linux user can have several versions of same shared library installed in the same time. And he can have it in almost any location he want. That's OK. There is a use for running same application with different versions of shared library. Just never use -L/usr/local/whareeever/so/is/in/my/personal/environment/only
@SnakePlissken25
@SnakePlissken25 3 жыл бұрын
Customisation is a pro, not a con.
@gepwxaqdfsidsesg1548
@gepwxaqdfsidsesg1548 3 жыл бұрын
I write my apps to need nothing more than an X server, fonts and a kernel. It works for simple apps.
@vipulprasadm7414
@vipulprasadm7414 3 жыл бұрын
I don't know about development side, but from a user perspective I think appimages are easier than snaps and flatpaks as packaging formats. And the appimage integration must be a built-in feature in an OS.
@MrGoatflakes
@MrGoatflakes 3 жыл бұрын
Reminds me of the "if computers were airlines" memes. If Unix was an airline, everyone wanting to fly would bring a piece of the plane with them and assemble it on the tarmac before departing...
@presi3005
@presi3005 3 жыл бұрын
13:09 Why not have both? Have distros like ElementaryOS, Pop!OS, Manjaro, Ubuntu and Mint solidify as "Platforms" so that developers develop stuff for them. But keep the DIY distros like Arch and Gentoo for people who want the customization and know a bit about linux.
@SulaimanBotha
@SulaimanBotha 3 жыл бұрын
I've never even thought about how you make an app for linux😂
@1pcfred
@1pcfred 3 жыл бұрын
Linux does not have apps. Linux has programs.
@metrotechguru5863
@metrotechguru5863 3 жыл бұрын
Thanks Nick for a very insightful video. I have been dancing with Linux for about 10 years now. I like it for performing certain tasks that it does well, but not as a daily driver. Your analysis of what Linux IS and what it is not is spot on.
@Tom-vg5nb
@Tom-vg5nb 3 жыл бұрын
I love Linux for home usage. Manjaro and MacOS are my daily drivers. Nick I love this video. Thanks for posting.
@JerziTBoss
@JerziTBoss 3 жыл бұрын
Being developer for few years now and seeing this video a development for Linux must be quite the development hell. If you want app to work on all the Linux systems there has to be a lot of ports that means a lot of development time will go to the ports instead of extending the app. Also the platforms can define the monetization standards as well that means devs for Linux apps won't have to rely on crowdfunding or donations and they could potentially sell their apps on platform store if they wish to. That could also bring more devs to the Linux platforms.
@nofate0007
@nofate0007 3 жыл бұрын
Command Line Programs: Am I a joke to you?
@sanaltdelete
@sanaltdelete 3 жыл бұрын
Yes.
@nofate0007
@nofate0007 3 жыл бұрын
@@sanaltdelete CLI is based. SSH is based.
@DMSBrian24
@DMSBrian24 3 жыл бұрын
Yeah tbh I'm slowly getting on the same train, theming most applications doesn't really matter, only theming system components and basic system applications (like file explorer, terminal, maybe a text editor or sth) is enough for sufficient consistency of design and good user experience. When you open spotify it's just spotify and doesn't look like either gtk or qt app, who cares about the 3 small buttons in the corner looking one way or another, the app does its own thing anyway with the menus and everything. I agree that providing more stable and defined platforms is a good thing but what's not too convincing for me is the approach ElementaryOS takes. By only allowing apps that follow their exact design, while providing a more unified and consistent user experience, they fall victim to the very same thing you mentioned - fragmentation, unless the OS somehow becomes widely popular, they won't manage to get all the major software follow their design. Providing that choice to developers is nice but it doesn't really solve the issue of fragmentation and if more OS'es take such stance, developers will *still* need to develop multiple versions of the same app because of the abundance of platforms.
@DMSBrian24
@DMSBrian24 3 жыл бұрын
So if a company develops a flatpak intended to run on all distros, they will still have to think "do we want to develop it for elementary with their design guidelines or maybe vanilla gnome?" So there will be a windows app, a mac app... and then a gnome app, an elementary app, maybe a kde app (pretty unlikely) and even more, depending on what other DE's will emerge and try to become "platforms", except all of those have a very small user base and are still not really worth developing for and the more distros decide not to even include apps that don't follow their guidelines, the harder the choice it will become for developers to pick one of them, I think offering those platforms is a good thing but forcing the use of one will yield the same results as not offering one in the first place. And the abundance of them might prove even more detrimental when it comes to consistency of design cause right now we mostly just use gtk and qt but in the future who knows? Elementary is trying to go the Mac way and tbh it would be really nice if they succeeded, but right now I just don't see this working out too well, Elementary is really not a great experience to use at the moment imo and trading off app availability for nice system wide theming might just be what causes that.
@tikkasen_urakointi
@tikkasen_urakointi 3 жыл бұрын
You can easily write your program so that they can be compiled for all major linux distributions (and most other POSIX-compliant operating systems too). It's just that they are not binary compatible with each other, and are never meant to be.
@takistsiberis6636
@takistsiberis6636 3 жыл бұрын
You can install a KDE distro with KDE apps only. They even have their own office suite. Same with Gnome.
@JanVerny
@JanVerny 3 жыл бұрын
I feel like this needs to get abstracted a bit more somehow, so that developers can target non descript UI elements such as button, slider, list, table, etc... and then users can basically choose the provider. Because unless you make the GNU\Linux a platform you ain't going to see those big players being interested in supporting those 102 users running the Patheon DE. Though I guess that is never going to work with DE like GNOME, because it doesn't really have that same traditional philosophy behind it as basically all other platforms have.
@kuhluhOG
@kuhluhOG 3 жыл бұрын
there is already something similar to that: wxWidgets you write the way you want your UI to look and then wxWidgets draws them with native elements (e.g. Win32 on Windows or GTK on most Linux desktops) but this approach has one big downside: you often have platform dependent bugs because you can't abstract some differences away
@JanVerny
@JanVerny 3 жыл бұрын
@@kuhluhOG Well, I actually used that one in high school. But that's not really what I am thinking about. Because here the choice is still on the developer. And there is very little abstraction, it wouldn't be easy to for example switch the "renderer" from GTK to Qt. MAUI from Microsoft is actually pretty close because you can write one XAML GUI for all the major platforms and it uses native elements, but understandably they don't support Linux because it has no native elements. Basically for Linux to become a platform I think it needs one more layer of abstraction.
@kuhluhOG
@kuhluhOG 3 жыл бұрын
@@JanVerny wxWidgets does actually have a GTK and a Qt backend also, MAUI does have a community maintained GTK backend but something like that wouldn't solve the problems I described renderers are still going to have their own quirks, and while these can technically be fixed, that would break already existing apps which made workaround for these quirks and just end up as a mess that why most major cross-platform GUI toolkits draw the controls (like buttons) themselves so that devs don't need to manually ensure that it actually works (basically the mess Java had with AWT)
@JanVerny
@JanVerny 3 жыл бұрын
@@kuhluhOG It feels like you've completely lost the thread of making GNU\Linux a platform. Yes certainly I could use multitudes of options to render my own GUI elements, but then it's not Linux I am targeting.
@kuhluhOG
@kuhluhOG 3 жыл бұрын
@@JanVerny Here is the problem you are dealing with: Some HIGs want a header bar (e.g. Gnome), some want menu bars (e.g. Cinnamon), some want something entirely else. How are you supposed to get that under control with just using a different renderer? You don't. You choose one way and then use that to develop it. A dufferent renderer or something like that will not deal with the problem of it feeling out of place on a different platform. And yes, Human Interface Guidelines are part of a platform.
@SB-rk8vy
@SB-rk8vy 3 жыл бұрын
Hey Nick! I think one of the best ways to articulate what Linux is and SHOULD be is: AN ECOSYSTEM. A Linux ecosystem with multiple platforms, united by a central kernal and universal applications that can run on any distribution. I think you should talk about more about the importance of universal packages & how it will help Linux, "as an ecosystem", be more adopted by the masses. As a Windows fan ( & an emerging Linux fan as well), I would like to see Linux grow more in market share to give Windows more competition which I feel would benefit everyone. The excessive modulerization of Linux is what it's holding it back from mass adoption. The Linux Foundation should publish "Recommended Standards" for Linux distributions to follow. Those that do get an "Official Seal" from the Linux Foundation. Those that don't, which they can, don't get NO official seal.
@iggienator
@iggienator 7 ай бұрын
Finally someone explaining… I'm a Windows developer, trying to get my feet wet with linux stuff but I couldn’t even figure out where to start…
@gepwxaqdfsidsesg1548
@gepwxaqdfsidsesg1548 3 жыл бұрын
Unfortunately mobile for Linux has already split into phosh vs plasma mobile :-(
@bigwheelsturning
@bigwheelsturning 3 жыл бұрын
Can't think of any "apps" that I need on my Mint desktop. Only have two on my smartphone, and I don't use those very often.
@tchx8434
@tchx8434 3 жыл бұрын
Great video, Nick.
@maksympletiuk5311
@maksympletiuk5311 3 жыл бұрын
Interesting thoughts... And I want to say, I like that your self-irony, it makes those videos more sincere)))
@TheBrimurray
@TheBrimurray 3 жыл бұрын
Brilliant, thought provoking explanation of our current (Linux) application environment. Thanks Nick
@TheLinuxEXP
@TheLinuxEXP 3 жыл бұрын
You're welcome :)
@xymaryai8283
@xymaryai8283 3 жыл бұрын
Windows has this problem too. there are XP apps and system tools that haven't been updated, Win 7 apps that haven't been updated, Win 8 apps that haven't been updated. Linux honestly has it easy, especially when universal light/dark themes get adopted. Windows doesn't have that.
@xymaryai8283
@xymaryai8283 3 жыл бұрын
the biggest problem i see rn isnt theming consistency, its X11. it needs to die for desktop distros like Ubuntu, Pop_OS, Elementary and Mint. the pro distros can keep it for compatibility, but i am very sick of X11 issues and configuration.
@gokhanersumer2273
@gokhanersumer2273 3 жыл бұрын
Windows keeps backward compatibility. Maybe they look weird today but most of XP apps are still working, its just cosmetics. Try installing a linux application from 20 years ago on a recent distro. Most probably you cant
@davidcalebpaterson7101
@davidcalebpaterson7101 3 жыл бұрын
even closed source software should have a modifiable section for all this when it comes to linux, some sort of graphical modification unlocked and linux should allow dependencies to be readable from outside the kernel system folders, something like portable. (Sort of like pasting dlls on custom folders in windows OS. Not quite but you get the idea)
@neffscape6353
@neffscape6353 3 жыл бұрын
Hmmm.. Are you the same Nick that chose Epiphany as daily browser because it integrates better than Firefox with his Plasma Desktop? 🤔
@giomjava
@giomjava 3 жыл бұрын
right 😃 He themes his KDE with Layan, then enables Layan for GTK... I thought fake integration was worse than no integration?
@outertoaster
@outertoaster 3 жыл бұрын
hes switched to gnome the other week, you can see him using it in the video
@TheLinuxEXP
@TheLinuxEXP 3 жыл бұрын
I left KDE mainly because of that hahaha
@giomjava
@giomjava 3 жыл бұрын
@@TheLinuxEXP oh 😃 I wasn't current on the news 👍 fair game
@neffscape6353
@neffscape6353 3 жыл бұрын
@@TheLinuxEXP so are you staying with plain GNOME and Adwaita?
@jouniosmala9921
@jouniosmala9921 3 жыл бұрын
In some sense, there is a Linux platform that you can target. However, people have built on top that several different environments, but you really don't NEED to write for those. You can target the underlying platform or any library that you can ship that is written on top of the underlying platform instead of on top of libraries that are only available on a specific distribution.
@cacodemon345
@cacodemon345 3 жыл бұрын
The "Linux platform" issue actually in fact goes all the way back to the late 80s/early 90s era of UNIX when X11 was becoming mainstream. In the initial times of X11, libXaw used to be the only GUI toolkit for X11. Later OPEN LOOK GUI toolkit was created in the late 80s by Sun and AT&T when X11 was becoming mainstream in UNIX as an standardization effort. OSF back then didn't like that so to counteract that, it created the Motif toolkit. By the time OPEN LOOK was abandoned and CDE became the successor to OpenWindows DE, NextStep already entered the market as a UNIX operating system with GUI being the only usable mode of full operation and having its own GUI system that evolved into macOS. Which meant that there was already 3 (4 if you count NextStep anyway) different GUI toolkits to target with on top of the amount of UNIX variants (Solaris/SunOS, IRIX, NextStep, NeWS, HP-PA, etc), which meant that the only standard interface visible to the user was the command-line. You also had to account for different architectures of UNIX operating systems, which made source-code compilation the only cross-platform way of distributing applications. The UNIX operating systems were also already multiplying in variants so rapidly by the 1980s that it made the SVID specification a thing. The POSIX standard also evolved from the programming interface standardization efforts. When Microsoft torched the market with its fire stick of x86 and IE browser monopoly in the 90s with Linux (and eventually the BSDs) being able to run on non-specialized hardware being the fuel on the fire it sent the entire proprietary UNIX market quickly burning down the ground and, coupled with the rapid graphics hardware development in the x86 space, left only macOS, Solaris and HP-PA in terms of proprietary UNIX systems surviving by the time 2000 came in the aftermath. Only macOS has survived to date with Apple being able to make switches in computer architecture quickly. Solaris and derivatives has already fell into irrelevance because of Linux and the BSDs being better to deal with unlike Solaris. HP-PA also quickly fell into irrelevance after HP jumped into the Itanium train only for it to quickly run out of fuel. The problem that still hasn't ended from the early X11 era of UNIX is the GUI toolkit standardization. Qt and GTK actually appeared during the 90s, and as of now the relevant GUI toolkits to use is essentially X11-only Motif, GTK, Qt and the X11-only libXaw. And instead of having only Motif and libXaw to deal with while CDE was still relevant in the non-NextStep UNIX world, we instead have to deal with 4 toolkits. As compared to dealing with 3 desktop environments in the 90s UNIX, we have to deal with 6+ desktop environments and window managers. If CDE became actually open-source and GPL compliant in time it would have helped to reduce the DE standardization problem but that didn't happen so we instead got even more DEs to deal with. Add the mess of X11 vs. Wayland to the mix and you will actually understand why Linux desktop isn't ever becoming a thing. Windows and macOS also became a long-term success because both offered a consistent UI to the users. It's also why the former didn't fall off despite the disgrace that was IE6 and Microsoft's monopoly tactics. The x86 monopoly was already entrenched in the market that helped the demise of proprietary UNIX and make Windows popular. Even Apple learned the lessons and chose to switch over to x86 by 2007 so that it doesn't face the same fate that other proprietary UNIX systems faced. Both also has a defining platform that makes them distinct from Linux. And unlike in Linux where you have to target a specific GTK/Qt version and switch to a newer major own when necessary, you don't have to do so under Windows because you can always count on Microsoft to keep maintaining its old Win32 UI.
@Sumire973
@Sumire973 3 жыл бұрын
"to the mix and you will actually understand why Linux desktop isn't ever becoming a thing." Android has that too, lots of customization layers that developers have to deal with. And that didn't stop Android from reaching the market share it has now, most people don't care about the consistency of the GUI anyway, so reducing all DEs to one is not necessary either, desktop environments also follow standards, allowing interoperability between them, some developers also use their own gui toolkits for their apps. Windows reached its high market share because Microsoft did everything it could to burn out the competition together with marketing strategies, and the previous success of MS-DOS, with questionable methods as well. Web had a similar issue, the web wasn't a failure because of that, but that caused a lot of troubles if you wanted to use something other than IE., the solution was not to reduce all web browsers to 1 (Internet Explorer) but to define standards that all browsers must follow, we currently have dozens of active web browsers, with different interfaces and even rendering engines, but that's irrelevant because all follow W3C standards, making them compatible with (almost) all web pages.except for proprietary things like Widevine, pages that are only compatible with specific browsers is the fault of the developers of those sites.they don't follow the standards.
@Sumire973
@Sumire973 3 жыл бұрын
developers generally prioritize what the majority use if there are no consolidated standards that allow interoperability, that's why most develop apps only for Windows and not for the rest of the desktop OSes, same with IE in the 90s, and in the case of Linux, they only supports Ubuntu at the expense of the rest of the distros for that reason too.
@floppa9415
@floppa9415 3 жыл бұрын
Hmmm this is a very interesting view on the Subject. And this Platform problem may also explain why I generally find iOS and especially Android so much more enjoyable to use then Desktop OSes since the Platform handles so much stuff like App-scaling, behavior for opening and closing Apps, Notifications, Sharing between Apps,… I really hope on the Linux Desktop one day we will get to a point similar to Android. Where there is a clearly defined Platform that all Distros share, yet each distro can implement the Platform in their own individual way and add themes, features and custom Programs.
@lancebarreto
@lancebarreto 3 жыл бұрын
Haha I was literally talking about the same thing today morning on reddit. Android really does feel better to use.
@fuseteam
@fuseteam 3 жыл бұрын
Well basically linux platforms are cross distro :3
@lua-nya
@lua-nya 3 жыл бұрын
So when you said there is no platform you meant there are too many platforms for there to be an obvious one?
@_antoniolinhares
@_antoniolinhares 3 жыл бұрын
Great video! It's interesting to think that most the apps I use in Linux nowadays - Chrome, Firefox, Discord, Blender, Davinci Resolve, Steam - they all kind of have their own interface, and look almost entirely the same on Windows and Mac. They have their entire visual identity, with particular buttons and headers styles, apart basically from the window limits. Other than those, 'simpler' day-to-day apps like File Manager, Text editor, Settings and App Store, all look pretty coherent between them inside Gnome :- ) That's why to me Gnome looks prettier and more polished than other DEs.
@knixie
@knixie 3 жыл бұрын
We kinda just need to choose one and really push on that. Frankly, the fact that there is already AUR on arch means I think that is the right path
@hamobu
@hamobu 3 жыл бұрын
FLOSS development tools tend to be cross-platform, so when you develop for Linux you can also easily have a widows and OS X port of your program.
@MegaManNeo
@MegaManNeo 3 жыл бұрын
Very valid points. I myself am fine using gtk software on Plasma as the KDE team does a good job at trying to integrate those but I can not deny the fact that it looks alien. Really too bad Elementary still has those hiccups you mentioned in your previous videos, overall it seems to feature the smoothest experience.
@christiansilvermoon
@christiansilvermoon 3 жыл бұрын
I kind of agree, and don't agree at the same time. Most Linux distros do have some important core components installed. We have what we need already. XDG Standards, Linux, Libraries (libc, etc.), Coreutils, Init, Xorg or Wayland. Worrying about making apps conform to a particular Desktop UI Paradigm will only make things feel even more-stand-out and janky than they already do. Sticking to widely available toolkits and keeping things modular is how things can and in many cases do fit everywhere already. If this is the route we'd go I would rather programs modularize their front ends so they can be swapped out... But, Linux is like a parallel to nature, and Natural Selection is the law of the land. If something isn't favourable, it will eventually go away or cause something new to happen and lead to our Linux ecosystem(s) evolving.
@SaltyNotSweat
@SaltyNotSweat 3 жыл бұрын
Once we figure this out, now we have to agree on how we get 3rd party apps. I like flatpak and appimage but I feel appimage is more familiar to Mac and windows users and doesn’t need a command line to make it executable unless the file explorer does not have that box to tick. Just need a designated folder that the apps can go like Mac and become searchable. It would be nice if you launch the app the first time it does a checksum and signature check automatically.
@RealGengarTV
@RealGengarTV 3 жыл бұрын
Let's hope that STEAM os get's mainstream adoption so that the OS gets more proprietary drivers and software from developers.
@B5152g
@B5152g 3 жыл бұрын
I always kind of wonderd (as a non developer) if we need a middlware between QT/GTK and apps.. but if it adds overhead or lag than I am happy with not having it..
@fuseteam
@fuseteam 3 жыл бұрын
This doesn't add middleware actually
@arunkumar_in_google
@arunkumar_in_google 3 жыл бұрын
I think App Image is most sophisticated format for Development of linux software. I used some app images recently like etcher, session, obsidian,etc. That's all works well on most of linux distros without any problem.
@OcteractSG
@OcteractSG 3 жыл бұрын
I’d like to see a distro that makes it easy to switch DE components and potentially other parts of the distro. Like, if a GUI utility was baked right in so that you can do that, you could find and use the best of distro rather easily. Would probably be pretty tough to make, though.
@IvanNOFX
@IvanNOFX 3 жыл бұрын
VS Code uses electron, Kdenlive used QT and GIMP uses GTK (and GTK2 I think). I don't see either of them switching to a common toolkit so they will always look and act different to each other. And it's not an unlikely scenario that someone will run those three programs at the same time.
@richardshalla
@richardshalla 3 жыл бұрын
I'm new to Linux, have used Manjaro from the start and very satisfied. I've been curious to try others but after watching many comparison videos I always decide to stay because it checks so many boxes so what's the point. I like the idea though of so many trying to see what works and what doesn't but I am not a programmer so I don't know their pain, I do enjoy their hard work though, and admire them for it. Though homogeneity might solve some (probably quite a lot) what would be lost? I don't know the answer myself because I'm a newb but in other fields it seems some things are stifled when you take away selection. As I said I'm no expert.
@marco.nascimento
@marco.nascimento 3 жыл бұрын
Quite interest take. The Linux community will be hugely benefitted if there was a platform like those to unify some little things. It would help a lot the developers.
@-bazoona3654
@-bazoona3654 3 жыл бұрын
What distro do you use in this video at 8:16?
@horvbalint
@horvbalint 3 жыл бұрын
Most likely Fedora 35. The best distro in my opinion.
@davidcalebpaterson7101
@davidcalebpaterson7101 3 жыл бұрын
Just make an automation system to adapt apps and required libraries. develop for 1 distro and then adapt from there.
@smashingthreeplates2171
@smashingthreeplates2171 3 жыл бұрын
Linux needs to standardise in order to be successful!
@1pcfred
@1pcfred 3 жыл бұрын
Linux is already successful.
@smashingthreeplates2171
@smashingthreeplates2171 3 жыл бұрын
@@1pcfred Sucessful to compete with Windows. But Linux is too fragmented!
@1pcfred
@1pcfred 3 жыл бұрын
@@smashingthreeplates2171 why does Linux have to compete with Windows? There are no shareholders to satisfy. No profits that needs to be made. Linux is not fragmented. Linux is just customizable. I know for a fact that no one has a system quite like I do. I couldn't even setup another system that was byte for byte identical to what I have right now. I could make something similar though. I always do.
@smashingthreeplates2171
@smashingthreeplates2171 3 жыл бұрын
@@1pcfred Many users are driven away from Linux, because of how fragmented it is! That’s a fact, not an opinion! If it’s not fragmented, why are there so many distributions, then?
@1pcfred
@1pcfred 3 жыл бұрын
@@smashingthreeplates2171 there are different distributions because lots of people have their own ideas of how they want to do things. In the end every distro does the same thing though. All roads lead to Rome. It's all Linux. That's a fact, not opinion!
@tiagotiagot
@tiagotiagot 3 жыл бұрын
Why can't they just get whatever libraries they need to run to be installed during the install process if needed; and isolate them in some way if there's concerns for conflicts with the pre-installed libraries?
@fuseteam
@fuseteam 3 жыл бұрын
Snap and flatpak says hi
@tiagotiagot
@tiagotiagot 3 жыл бұрын
@@fuseteam AppImage too, I think
@dyhcdjvddhh421
@dyhcdjvddhh421 3 жыл бұрын
Slimbook website is broken on a phone, wtf?!
@martijn208
@martijn208 3 жыл бұрын
i got this recommended after a video of linus torvalds complaining about this. he said that he wished there was a unified linux platform.
@andromydous
@andromydous 3 жыл бұрын
I'm not exactly sure how I feel about this. On the one hand, my love for Linux stims from having a lot of freedoms and choices. Arguably, that much freedom and choices are paralyzing to new Linux users. Which leads me to the other side of the coin, I would love for developers, whether game devs or workflow devs, to develop their apps with Linux in mind along side of Mac and Windows.
@soulprestigio9162
@soulprestigio9162 3 жыл бұрын
Linux is not a platform but it's an ecosystem
@srpenguinbr
@srpenguinbr 3 жыл бұрын
It seems to me that theming is better on Linux today than on Windows, lots of apps there simply don't have a dark theme while this can be changed with Wine
@KuruGDI
@KuruGDI 3 жыл бұрын
We need widely excepted standards and cross distro/lib/toolkit interaction on Linux so that it's easier to write an application that will run on all systems. However, I don't think that every application has to look or work the same. On Windows I replace every default app with a different program and guess what: They all look and behave different. But this is not a problem at all for me. In my opinion you will never succeed if you want to force your menu layout/look and feel/whatever onto a program that just can not work with it. So you will never fully get rid of fragmentation.
@JanVerny
@JanVerny 3 жыл бұрын
Yeah, I kind of don't even understand that, different programs need different GUI.
@techpriest4787
@techpriest4787 3 жыл бұрын
I can sense it in the force that Pop OS wants to become a platform.
@ChairmanKam
@ChairmanKam 3 жыл бұрын
07:30 I thought we are at the point that you can install programs across Plasma, GTK and XFCE?
@angelrivera8013
@angelrivera8013 3 жыл бұрын
Correct me if I'm wrong but to my understanding the best Linux desktop environment that is the most compatible with the majority of the Linux apps or applications is the MATE DE. Are there any other DEs that are compatible and nicely integrate the Theming with the majority of the Linux apps?????
@DylanMatthewTurner
@DylanMatthewTurner 3 жыл бұрын
Theoretically, you could statically compile all the standard libraries and your code into a single x86 elf binary, and that would work on Linux and thus be a Linux "app," but yeah that's not practical haha.
Linux changed in 2024, but 2025 will be MUCH BIGGER
19:36
The Linux Experiment
Рет қаралды 64 М.
The FACTS about GNOME’s plans for THEMES
17:33
The Linux Experiment
Рет қаралды 60 М.
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
Гениальное изобретение из обычного стаканчика!
00:31
Лютая физика | Олимпиадная физика
Рет қаралды 4,8 МЛН
My scorpion was taken away from me 😢
00:55
TyphoonFast 5
Рет қаралды 2,7 МЛН
Don't make these 7 mistakes when you're starting out on Linux!
14:15
The Linux Experiment
Рет қаралды 406 М.
Flatpak vs Snaps vs Appimage vs Packages - Linux packaging formats compared
14:12
I have some Linux problems, and I can't fix them all...
18:26
The Linux Experiment
Рет қаралды 72 М.
Who REALLY OWNS Linux?
11:54
The Linux Experiment
Рет қаралды 48 М.
Switch to these open source apps if you're stuck on Windows or Mac OS!
15:34
The Linux Experiment
Рет қаралды 536 М.
How to run Windows apps on Linux with Bottles
15:44
The Linux Experiment
Рет қаралды 222 М.
Ranking Linux Distributions for 2025: a tier list for my use case !
26:14
The Linux Experiment
Рет қаралды 145 М.
The BEST OFFICE SUITES for Linux
15:25
The Linux Experiment
Рет қаралды 179 М.
Linux File System/Structure Explained!
15:59
DorianDotSlash
Рет қаралды 4,3 МЛН
Linux Directories Explained in 100 Seconds
2:53
Fireship
Рет қаралды 1,5 МЛН
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН