Fragmentation Is Why Desktop Linux Failed [video]
youtube.com
youtube.com
> I still wish we were better at having a standardized desktop that goes across all the distributions. There's been some progress there. I mean, this is not a kernel issue, so this is just more of a personal annoyance how the fragmentation of the different vendors have, I think, held the desktop back a bit. But there has been some progress on that front too with Flatpak and things like that, so I'm still optimistic, but it's been 25 years. It's going to be another few years at least.
I have helped people migrate from Windows to Plasma 5. They loved it. However, getting\installing software and general system management is still not straightforward enough. We also need system management tools that are solid. No terminal gymnastics at all for the common user on distros targeted at the masses.
Flatpak is all cool, but we need core user-space applications to be standardized. LibreOffice, for example, needs to become the industry standard office-suite. How can we achieve that? People I know just do not want to move away from MS Office. Even government agencies invest heavily in MS Office. This might just be the most important impediment.
I think, the Linux ecosystem shows us what a real "free market" looks like. Lots of small players and no monopoly. People love choices and they have. You want a minimal Window Manager, you got many to choose from. You want a full-blown Desktop Environment, you are spoilt for choice. Not a bad thing in an ideal world, but...
In spite of piracy, a large set of population actually pays for them, versus bashing the authors for considering to charge money for their work while suggesting free alternatives.
A full stack framework that in spite of OEM customization is relatively standard across all devices with an Android label on them.
Every distribution spends more time on packaging and integration testing than developing useful functionality. When developing for Linux you need to package your application in a few different formats. We also have different init systems to make it more difficult. Every distro has own store and repositories. For GUI there are different frameworks and display servers.
If Linux world standardizes around snap/flatpak, systemd and wayland then we stand a chance.
DE being the first thing a common user interfaces with, it holds a very important position, in my opinion. KDE and Gnome are very different w.r.t design principles, hence the polarization and debate. KDE and Xfce are not so different. I like Gnome, but have no use for it.
I agree with all else.
Also, I think, a real "free market" would resemble Linux ecosystem. No monopoly, small players and lots of choices. However, if we wish to compete in "real world", we need to do something similar to what you say.
Consider the possibility that your idea of what "the common user" wants is something you made up.
I would argue that having a choice between hundreds of DE's is a bad thing for the more casual user.
The large majority of their users don't even know what kernel is running the runtimes of their apps.
One of the reasons of netbooks failure, besides the cheap Windows XP licenses move from MS, was that each netbook Linux was its own little silo.
The big players tend to be compared, isn't that reasonable?
Don’t worry Linus, with Snaps and AppImages we’re hard at work fragmenting that front too!
The tradeoff is pretty obvious: on the one hand you get full control over what code you bring in, but you also get full responsibility of keeping it up to date and it does indeed take up more space. On the other hand you get systemwide updates, but also unpredictability which can break things.
In the former, you have a lot of work to do yourself to maintain your ecosystem between releases. In the latter, a greater amount of effort and responsibility goes onto those who maintain the packages at a distribution level to ensure mutually compatible package selections. This can be done (viz. most of the top tier distributions successfully doing this with occasional problems for decades) but we keep trying new all-in-one mechanisms every few years.
I'm not convinced that there's ever going to be a final answer to this, but it is clear that storage is cheap as chips...
The reason you don't see this on Linux is because there is no such thing as a separation between 'system' and 'application' in its culture. Consequently there has never been a "base system" to target or keep compatibility with so applications have to either target a specific version of a specific distro (waste of time) or include everything above the stable kernel ABI in their product (waste of space).
It is actually a very simple problem to solve, it just isn't one that the Linux community is interested in solving simply, so instead they invent ridiculously complicated tooling like package managers and Flatpak, introducing a bunch of unnecessary limitations and yet more parts to break and ruin your day.
Edit: clarification.
We'd need something more smoove and better over-all integration because there is still too many shortcomings and tiny bugs that could annoy a day-to-day user that doesn't want to know anything about config files or extended menus with special settings. It should be a great thing out of the box with sane defaults. That includes the icon set as well as a decent file browser and terminal emulator experience (iTerm2 on mac is THE REFERENCE here, I wouldn't want anything less).
Next comes workflows like office /graphics /audio stuff. I like how OSX handles PDFs etc and would love to see that on linux as well.
But I'm afraid this scattering is one of the biggest enemies of adoption and maturity of open source software. There is so many OSes and tools that you often have to research stuff for hours before you start off with a shitty tool that get's the job half done and then you recognize you can start from scratch because it doesn't work as you expected.
Instead many open source projects could live up to their potential if they'd combine efforts to merge the best they did and create ONE super awesome tool.
The reallity is that very often projects are just abandoned because adoption / donations etc. are too low or the 2 maintainers are tired after years of working on a project only 100 ppl on the globe are using.
Unite! At least converge to 2 big streams: Pro-Users (the ppl making jokes about shellscripts) and People (your mom)
Just focus on delivering for these 2 groups and I think most ppl would be glad about the end product. I for myself will try to do my best in putting efforts into projects I hope will have the biggest adoption.
This is happening. The web is becoming the de-facto desktop environment.
A browser could run bare metal for what I care.
What do you do when the internet is crashed / your app is down?
I like the data-sync & backup part of web apps - you don't have to save etc. and your whole machine can just fall into a river but you still have your work. But I'd rather do this with a seperate solution and keep stuff on my PC so I can access it without a network.
By providing a minimal kernel for juggling browser instances, local file system and browser specific "native" APIs.
Welcome back to the timesharing days, just with prettier UIs.
It is however the pace how things are going, even most mobile apps are modern versions of those 2-tier apps during the 90s.
Take a trivial example of desktop application integration, which is with us since Windows 3.11 - common file and printing dialog. Nothing standard like that on the web. Most web applications won't let you even export the data in editable format.
UI - horrible. Desktops had standard menus and shortcuts since 1980s. In fact, many SPAs are trying to invent their own desktop.
I could go on.. the fragmentation of web apps is so much larger than fragmentation of desktop apps.
So a few weeks ago, I'm sitting in the waiting room at my doctor's offices. And they seem to be running late. And the waiting room is filling up. So I go to the receptionist's window, and ask what's up.
Turns out that their ISP was having problems. And they were totally dead in the water. They had no local backup. And knew nothing. No patient data. No schedule. Nothing.
So hey, I just left, and rescheduled. But damn.
I prefer using apps with ncurses interface to many web apps. Also the standards are not good enough for my demands. I've worked in web development and I know how tedious it is to re-implement the wheel for each and every user (at least it feels that way) because you have to ensure everything is rendered and works on 10 different browsers (different versions of course because who want's to update?). Also you have the devices (I don't even want to think about that) etc...
It is nearly 2k19 and still centering stuff with CSS seems to be a huge deal. That's just not very assuring for me.
I'm impatient to be able to update my laptop for a X1 carbon and a speedy KDE.
It's been very good since like at least OSX 10.5 (when they added tabs) or so.
I always wonder why people use other terminals (but don't seem to use any of it's special features).
I'd be curious to see if you think it performs better.
I have an old MBP (the one that has all the ports you'd including a standard HDMI, don't know what year) and never upgraded beyond osx mavericks - it runs fine until today.
A friend told me they use new MBPs @work and they seem to break much too often. I also tried the keyboard on his working machine to find out how bad it is nowadays! I prefer the oldschool thinkpad keyboard but was surprised by the keyboard on the old MBP. The new one's on the other hand are just a tool for torturing users who like to write much.
iTerm2 was my favourite because of the features (like intuitive tmux usage without learning it's CLI-foo). I also like how it is integrated with the rest of the desktop (searching, copy&paste, url-clicking etc.) but can't really compare to the default terminal emulator as I haven't used it much after trying iTerm2 when it was recommended by the whole world.
I couldn't disagree more. As a community, developers and Linux developers in particular need to stop believing in the divide between the Glourious Developer Master Race and Ignorant Users What Think Their CD Tray Is A Cup Holder.
Linux Desktop has been pandering to this imagined notion of an "average user" for decades and it still sucks.
Here's what needs to be done: make the system simple (not easy) enough that it can be reasoned about, something that someone can look at and comprehend and build a model of its functioning so they can conform how it functions to their needs without reading C source code and 40 different text-based file formats and out of date man pages. Stop being a Rube Goldberg machine of interconnected disparate components.
It's an open secret that the ideal of choice fragments the focus of creating a tight UX on the desktop. You have to understand when you watch this video though that all Linus and the kernel team can do is make the kernel itself. The community is what will end up driving the desktop UX, and they haven't done a great job creating something that can capture the average PC user.
I am not sure if this is even a bad thing. My daily driver is a Dell laptop running Fedora and I don't think I'd change a thing aside from some minor UX gripes about Cinnamon. ChromeOS really is the best hope for mass Linux adoption, and I personally know people who hate the Linux desktop experience but use a Chromebook daily.
I'm not sure what I'm trying to say here other than my personal opinion that desktop Linux has found a local maximum and I think only the distros themselves can push DE volunteers to find something that has wider appeal (I'm not sure if that is even desirable, because again, I'm personally very happy with my experience).
In some sense that's a self-imposed limitation. Linus could have chosen to create an OS (like BSD) instead of a kernel.
This can be argued to be a good thing (git just gives you the tools to shoot your own foot), but for an average user, a DE needs to be easier to use than git.
I guess what I'm trying to say is, git is great for experienced users, but most users don't want to have to be experienced just to use a computer.
Is it intuitive without prior experience? No. Nothing nontrivial is.
As an example: I have not grokked Blender though I have tried a few times. But I have tried it fully intuitively, just exploring the UI without really reading documentation at all (when I have time I will study it more). Does the UX make sense? No, not to me. Does it mean Blender has a bad UX? No, I don't think so! It has a learning curve like everything else, and learning it is something I have to do if I want to be able to use it. I cannot expect someone else to learn it for me.
Yeah, that's the problem. People don't want to do that. Keep in mind, you're not talking about people you find on HN. You're talking about Grandma Sally and Aunt Susan. These are people who can barely use Gmail. They don't want to crack open the documentation
Sure, they might have to refer to the documentation for some time after, and also have a personal "cheat sheet" for commands, but I completely believe it is doable, and over a slightly longer period of time they will not need documentation or cheat sheets at all.
Arguing that people, who are implied to not need software version control to begin with, would consider Git difficult to learn is a bit strange argument.
Beyond the consistency argument, Jef Raskin: Humane Interface argues for universal undo which git almost has via the reflog except it should've built a safety net for git reset --hard which is possible https://gist.github.com/chx/3a694c2a077451e3d446f85546bb9278 (and no, disk space usage isn't a concern for 99.99% of the codebases, "disk is the new tape" predates git _and_ even without that recognition most codebases are tiny) and then it could git undo happily.
Add these two and you have a user friendly git without taking away any power.
If your goal is to make a tool useful to the widest audience possible, then yes, that the goal is precisely to dumb it down so as many people as possible "get it".
Rebase is when you transplant another branch on top of another.
Merge joins two branches together.
Squash combines two or more commits into a single one
They are by no means the same thing.
If you do that a lot, why not commit your changes more often to your topic branch? You can always squash it later to make it look nice.
Or use stash or something.
It is like editing a file, and not saving it. Is the editor at fault? Should it autosave the file? Under what name? Under what directory? Or should the editor just do what you tell it to?
For this particular case, git stash might help.
In general (danger: personal opinion), it is good practise to be mindful of dangerous commands and take a deep breath before issuing them, whatever they are. That is what I do after having learnt it the hard way, as I have also messed up stuff with the hard Git reset, dd, rm, chmod, chown, cp, mv, tar, you name it...
So, if you ask me, Git does not have an "objectively bad UI" as some say, it just does what it is told to. (Insert joke about computers being like an Old Testament God.)
> It is like editing a file, and not saving it. Is the editor at fault?
Yes
> Should it autosave the file?
Yes
> Under what name? Under what directory?
I don't care, just stash it somewhere so my work doesn't get lost. Notepad++ does it, for example. It doesn't even reveal where does it stash it, but "Noname 1" happily survives even a reboot.
FB and Google have had to stray from the beaten path.
Git, with its limitations, imposes non-trivial workflow constraints on millions of developers worldwide. It’s far from ideal.
It’s an application ripe for disruption.
The BSD people also don't make a GUI.
* https://lumina-desktop.org/ (https://news.ycombinator.com/item?id=14282349)
The BSDs (and Solaris) all branched from the original Unix tree, and thus have historically always just been a full OS. GNU was trying to do the same, but from scratch and as free software, but Linux came about just as GNU was getting very popular (people would replace the proprietary Unix utilities with the GNU ones).
Also, the BSDs and Solaris all use GNOME or KDE -- which aren't developed solely by those people. I think this is quite reasonable actually, since desktop environments really shouldn't be tied to a single Unix-y OS.
Google nailed that UI and everything just works.
Settings are just bundled in with your browser settings, no cli anything to run.
* a google docs Web GUI clone for replace OpenOffice. * all files store locally by default. * Goes to cloud only when users need to share.
* Web base apt, dpkg system. * Web base app for view/manage all system logs, dmesg. * Web base interface for gdb * Web base python interface. * etc, etc,
* Desktop is just Firefox with home page with a lot app icons.
-- Now time to wake up, take the red pill and continue use vim, git, insmod, strace and cat /proc/.......
Now we use LibreOffice and there is already a Web UI :-)
Here you are: https://www.collaboraoffice.com/code/
Just use NextCloud / Syncthing or a traditional NFS and you're good to go.
For system logs you could use the ELK stack or something like that.
Python Web UI = Jupyter Notebook (it's awesome you should check this out)
APT / DPKG: why web based?
Also I don't know why you see vim as the only alternative. There is NeoVim / SpaceVim and some fancy emacs stuff you can use as well.
For git there is really good tools nowadays like GitKraken, SourceTree or this tool from the sublime creator. Also you have integration into good IDE's. When you want to use a web UI then I'd recommend you check out GitLab. Even the CE is awesome and much more I was hoping to see any time soon.
I use SpaceVim and am totally happy as it has nearly all features of IntelliJ Idea that I use daily but runs on my shell (great for keeping your old thinpads battery on a decent level for some time).
Whether it's some kind of website addin (things like video conferencing, or offline video player with DRM that require you to download an app), or some development tool (Visual Studio!), or some game, or my printer.
The issue is a catch 22: because Desktop Linux is not well adopted, companies don't develop for it. If companies don't develop for it, then there are things you can do on other systems that you can't do on Linux. And so Desktop Linux does not get more adoption...
The good part is that over the past couple decades, the things that require Windows has become vanishingly small. Almost everything can be done on Linux these days.
Linux on the desktop works just fine. I've been using it almost exclusively for five years now. I also have several notebooks using it. It's less trouble than Windows. This should be Linux's moment on the desktop.
I don't think any of them became full-on Linux users, but some of them continued to use Linux alongside Windows. What this signifies to me is that Linux has some strengths that people really want, but it doesn't do a great job of replacing Windows in its current state.
I find this to be my exact problem, too. Windows does a lot of things right that Linux may never, and the app library on Windows is probably going to be the best on the desktop for at least another 10 years if not longer. Linux, however, has a beautiful experience for developers and sometimes even for power users. You can turn on and off almost any feature you want, there's a ton of alternative setups. You can even run a different libc if you really want to.
I still use a Linux desktop as my primary, but I have never managed to escape dual booting or virtual machines entirely, and I'm not sure when it might be possible.
The app market will very quick shift if linux really starts to get the ball rolling.
Just look how quickly developers jump on the mobile train.
Interesting. I don't feel similarly about the progress of mobile apps.
Like sure, there's a lot of mobile apps, but I feel like they are a lot less mature and developed than desktop apps are. I would guess by development effort spent, desktop apps still outpace mobile apps.
Don't get me wrong, I get that games and apps must be adapted for the amount of system resources and for the input devices users will be using. But that doesn't mean PS Touch is the same as Photoshop. It feels like a toy version of Photoshop that you can use in a pinch between having access to real Photoshop. I doubt the same number of people hours went into both.
Linux ports couldn't work that way. You would want the same thing you have on Windows.
There are still companies / labs across the world that are clinging to older windows versions since they rely on them for desktop apps.
Mobile apps? In-app purchases and subscriptions are the saving grace there.
You get what you pay for.
But the complexity bar is way too high, even for the simple things, like setting a refresh rate.
I could understand it fitting people who enjoy a challenge. But for the power user, who just want fine control, and lots of it, it seems too much of an hassle, and windows simplicity but with enough settings, alongside many 3rd party easy customization tools, wins.
I just like a simple life.
So setting the refresh rate should be easy. Trivial. One command you find at the first few Google results .
So if you want to set the refresh rate(and resolution , of course) , you now how know some commands, write a script , and know directory locations , and remember all that crap for future changes.
And if add a second user, suddenly, some more complexity.
I even gave up resistance and got a "smart" television. It's actually not bad. Ironically there's a tiny Linux distribution in there somewhere, underneath LG WebOS.
My terminal and/or browser windows will randomly flicker a few times a day, for no apparent reason. Nothing stops this short of a restart. Oh yea, and then when my computer restarts, sometimes half the screen is strobing. This is persistent across monitors and apparently video cards.
Sometimes moving my mouse across a terminal or browser window will cause it to flicker a lot.
Last week one computer stopped responding to input devices (ssh was still fine).
Half the games I play don't work on linux, without resorting to some very ambitious scripting and configuration. And even then, most of them don't really work, due to performance issues. Don't even get me started on the joystick :\
It's a lot better than it used to be, for instance my second monitor doesn't randomly go completely haywire anymore. And audio kinda mostly works usually.
Same hardware on Windows though? No problems at all.
Intel is strongest in power savings, drivers, and generally not having to give a shit. Depends what you care about, Mr. Idiot.
* https://support.brother.com/g/b/downloadlist.aspx?c=au&lang=...
The downside is that they are closed source binaries. For Linux only. And only 32-bit.
Recently I had to switch over printing from a FreeBSD machine to a Debian 9 machine because there was no portable driver and nothing supporting the particular printer range out of the box in the CUPS packages. Then printing simply failed silently with printouts apparently vanishing out of the print queue into thin air (apart from an obscure report of 0 bytes printed in a log file when debug mode is on) because I didn't have the 32-bit C and C++ GNU libraries installed on the 64-bit machine. I went on a couple of wild goose chases diagnosing that one.
I was halfway tempted to write it up for Unix StackExchange.
Don't get me wrong; there are issues. X is a system from a different era. (Graphics) Performance is pretty bad, the effects are janky, the primitives disparate.
But! As a "power user" I dread having to use any other system. On Linux, there is an incredible variety of window managers, file navigators, terminal emulators, etc. The whole gamut.
My workflow revolves around i3 and my i3 configuration. I have sworn off macs, and when I use windows, I have learned to press Super+1 for Firefox and Super+2 for Steam. Beyond that is a dark forest which I refuse to explore!
And, in any event, fragmentation has nothing to do with it.
Ordinary users (and even many advanced users) don't install operating systems. And one has to go out of their way to buy a machine with Linux pre-installed (and ordinary users don't go out of their way, certainly not for something that they know little or nothing about).
If real (decent) machine with Linux on them were sold in Best Buy etc. there would be substantially more users of desktop Linux. Let's not pretend that multiple distributions is the reason.
So, it would have to be spun in the right manner as an upgrade as opposed to an alternative.
Why? I would think the opposite would be true, generally.
Right now in most people's minds there are "PCs" (i.e. Windows machines), which are more budget-friendly, and Macs, which are fancier but more expensive. Just put Kubuntu on a machine and sell it for more than the comparable machine running Windows and people will assume it's better.
And of course part of the reason people installed Chrome is because Google owns half of the web and they kept popping up messages telling people to install Chrome. (If it was really about installing better software, we would see Firefox dominance: even privacy and openness etc. aside, Firefox has been an objectively better browser than Chrom{e|ium} since at least version 56.)
Consider that part of the reason Linux Desktop has failed to gain any traction is people like you who would rather imagine that everyone not using their favorite software is just too inept to do so.
> Consider that part of the reason Linux Desktop has failed to gain any traction is people like you who would rather imagine that everyone not using their favorite software is just too inept to do so.
I never said that they were too inept to do so (I think we agree that it's really not that difficult even for a non-techy person), just that they don't. I think it's fairly clear that ordinary people don't install OSes (again, not that it would actually be difficult for them to do so, just that they don't).
Linux has a software packaging issue. There are several so-called package managers and they basically have overlapping goals and they all suck from an end user perspective. On Ubuntu when you do an apt-get install darktable, you pull in a gazillion of packages. Everything and the kitchen sink, basically. On a mac, I drag the darktable.app file to the applications after I download it. And it runs. Exact same software. It's a 217MB self contained package. There are no software conflicts. Apple designed the way that stuff works last century when they were designing OS X and wanted to keep the simplicity of how software installations worked on OS 9. The disk usage is a non issue There are no dependencies to manage. This stuff works across major versions of OS X even. Package managers don't solve a problem real users have.
The existence of package managers led to what we now call distributions, which made a lot of sense in the early nineties when slackware came in the form of 27 disks (been there, done that) but not this century. No two distributions are the same. They each need to test and integrate the same software to work in their ecosystem. Even major versions of the same distribution tend to be very different. I personally think Ubuntu, Fedora, etc. have no business whatsoever acting as a gatekeeper here and I tend to think of them more as an obstacle then as an enabler. E.g. I know the Darktable people are preparing a 2.6 release (awesome stuff). I'd like to get a binary package from them as soon as they release it. I don't see what value Ubuntu doing the same months (optimistic?) later adds. Why wait? Their need to test before they can integrate is self inflicted. It's a problem they have yet to solve.
Flatpak and similar solutions are sort of aiming to solve this for linux. But standards are lacking, progress is slow, and this stuff is nowhere close to being standardized. So, again fragmentation. Compare that to the docker eco system. Most custom stuff you deploy to a server comes as a docker image. And you can run those on many different operating systems. This kind of OS neutral way of packaging software needs to start extending to desktop software. We need Docker for end user applications.
Command line tools, web servers, ... are easy: Take POSIX and be a bit conservative with the edge cases. It will work with a recompile for most linux distros,BSDs, OSX and if you're willing to look at e.g. cygwin, even windows. I had to compile an ancient linux 1.x program last month, and it works.
The GUI world however is a different beast. There is X11 which only offers the most basic of primitives for drawing and pointing, nothing decent for text, and the API designers want to take away even that with wayland. There is GTK that actively does not want to provide any form of stability. There is QT which has a hard-to-interop C++ API and every major version breaks everything once more. And i haven't said anything of the licenses
This means no community investment can be made in Linux GUI's: Every year or so, you have to do serious upgrades or a GUI application simply perishes. Which is basically insane. It means that whatever Linux GUI exists today is temporary for everything but the biggest applications.
Ironically, win32 is the only reasonable option on Linux: wine will provide a good enough environment, and as they are anchored API-wise to microsoft, they can guarantee they'r there for the long term.
But how I dream for a posix-like API that both GTK and QT could provide.
There's no consistency between apps on android so you don't notice it as much.
This adds a lot of unnecessary complexity to the Linux desktop experience for developers and that ends up affecting the end users more indirectly.
Even GNOME and KDE libraries aren't as functional as the Android Framework, featurewise.
Nowadays the experience is more mature, but even so a Samsung device has a very different feel from a Pixel or Xiaomi device, even though under the hood they can all be running Android Pie.
But if you think of "Year of the Linux Desktop" as the point in time where you can get the Windows-using masses to switch, diversity is a big problem. People don't want to be told that they have to make umpteen choices about what software to use if they want to use a different OS, they want a cookie cutter experience.
This is why "Windows like" is a selling point for many DEs/distros. It's the McDonald's principle: everywhere you go a Big Mac is a Big Mac. You don't have to worry about figuring out what appeals to you in the local cuisine.
So they install Ubuntu. How is that any different from Windows or Mac (where one still can go onto the internet and download a multitude of choices of software).
The real answer is that ordinary users don't install OSes. 'Fragmentation' (real or imagined) is a red herring.
And even then, the software needs to be available from such PPA source and the specific user is required to be running Ubuntu.
The last years of Unity were the best point I can remember. Final Unity versions looked and felt like a perfect cross between Windows 7 and macOS so I had no problem just giving a person with no Linux experience an Ubuntu laptop and seeing them using it happily with no questions or complains. The only problem with Linux desktop to come into my mind were lack of Adobe Photoshop (GIMP is not a perfect match) and limited selection of games.
AFAIK Mint's Cinnamon was more close to Windows Vista during the days, it has only gotten Win7/Unity-style taskbar in its recent versions.
1) A few things still don't work. Vanishingly few now but still a few.
2) Linux can't be simply as good as Windows or MacOs, it would have to be better for people to make the effort. And it's not going to be better. I don't think "better" is possible now (not in a fundamental, decisive way. Lots of little ways sure but, again, I don't think that's what people care so much about). An Os is just a way to launch apps and we've kind of a limit on such goodness. My desktop Linux launches my apps, especially my browser and that's about it. I like being independent of the corporate megamachine but most people would not spend the hard two hours required for this.
I really don't think this is the reason. Pretty much anything is better than Windows, but defaults rule supreme and Windows is what you get on your computer until you pay extra for MacOS. Ordinary users aren't likely to change the OS on their computer any more than they are to swap the engine on the car.
For how much effort GNOME and KDE devs have put on their frameworks, they still don't offer the full stack experience across APIs, IDE, GUI tooling and OS APIs.
But I think that's largely irrelevant to desktop share. It's not as if the majority of Windows users are developers.
So if the desktop market is bigger, by definition there needs to be a bigger amount of desktop devs to serve the market.
Thanks to people that buy Apple to develop for GNU/Linux instead, Microsoft has learned that for many developers it isn't about GNU/Linux rather some kind of POSIX like compatibility.
Since Linux seems to have replaced POSIX in the minds of many devs, they apparently decided it was better to support Linux syscalls than bring back the SUA personality.
Which is something that even BSD and illumos were kind of forced to do.
So given the current trajectory of Apple hardware, they saw an opportunity there to get those devs on Windows.
But the thing is the average person get no boost of endorphins for installing Linux. They can do what they did before just fine but there's no literal or metaphorical explosion of stars. And means they'll abandon the effort after a while.
The Linux desktop is inferior in a lot of non-exciting ways as well.
You aren't, and you won't be. Companies did an end run around user freedoms by turning everything into a service. You neither own nor control the software you run in the browser, and neither do you own the data. Replacing an OS won't help you if it's only serving as a bootloader for Google Chrome; if you want independence, you need to prefer locally executable software (which is becoming harder by the day).
- My computer asks me before it updates, and it does not send telemetry data about my files and application usage to another company.
- All of my personal notes and organization is managed through org mode, which is much more flexible and portable than OneNote, which I was using on Windows. Emacs is technically available for Windows, but it doesn't work well.
- The majority of Open Source software is designed to be compiled on Linux, so if you want the full benefit of using Open Source (ie, being able to edit the software yourself or use a specific development branch), working off of Linux is practically a requirement.
- youtube-dl means that when I want to save a video to watch later on Youtube, I simply download it to my local desktop. No more worrying that a corporation decides a month from now to take it down. Because I'm on Linux, it's easy for me to script chron jobs that automatically download from creators I'm looking to follow, which further reduces my need to go to Youtube's homepage and look at its crappy recommendation engine. I have plans to locally host my own server that uses youtube-dl as a backend, and then to set up network rules on my desktop to redirect all Youtube video embeds to it instead.
- On the web, I'm leveraging more Open protocols like Matrix to allow me to primarily run free software while still connecting to friends who are on Discord/Slack. Because I'm on Linux, developing and deploying Matrix applications is much easier.
- Also on the web, I use browser automation tools and scrapers (which work better on Linux) to allow me to manage applications like Twitter without being forced to look at their crappy recommendations and ads, and without being beholden to their user-hostile API rules. This kind of stuff can save you a tremendous amount of time and energy, because sites like that are designed primarily to waste your time. I've thought about setting up a similar system for Hackernews, but ATM it still passes the value threshold for me.
- I use Borg Backup (which works better on Linux) and B2 so I have complete control over my own encrypted backups, and I don't need to share the key with a corporation.
- I'm able to recycle old devices by installing lighter, Arch-based distros on them. This helps me avoid the consumerist grind of throwing things away and buying new devices over and over and over again. A significant portion of my home setup runs off of recycled machines.
- Speaking of my home setup, if you're looking to reduce your reliance on the web by building competing or personalized services that you host yourself, knowing Linux is basically a requirement, because at some point you will want to do something outside of NodeJS, and then you'll have to interact with the underlying server, which will be running Linux. Running the same OS everywhere will improve your development time, for the same reason why NodeJS became popular. It's just less context switching.
Switching wholesale to Linux has greatly improved my life in noticeable ways. I spend less time fighting with my computer to do things. I have more control over when and how I connect to the Internet. I feel more confident about the software that I'm running. And I feel like in some ways, I am more independent of the corporate megamachine.
This is not a binary "you're free or you're not." I'm a web developer. I spend most of time looking at either Emacs or a browser. Switching to Linux is still worth it. Could my situation be better? Yeah, and I'm working on it. But people who say this kind of stuff forget just how bad the Windows world actually is right now.
I think the best chance for unification was Ubuntu and Unity. I use Unity on Ubuntu 18.10 because I don't like the GNOME interface (and it's much slower on my low-end laptop too). Unfortunately, the community seems to enjoy reinventing things. Implementing new stuff is exciting, fixing bugs isn't :(
Sure there are work arounds and other formats etc but for most people that is just too much hassle.
The only time I use W10 is reading ppts by profs because Impress really messes the rendering.
A “normal user” thing is to need to occasionally load a work document at home.
I'm using Windows 7 on a desktop built in 2012 and I have no impetus to change. My wife has abandoned her desktop for an iPad Pro, which she uses at work extensively. The only thing she needs a desktop for is Excel, which she uses hardcore.
The only application I run on my desktop these days is Chrome/Firefox. Other than that I'll run Sublime because I'm a programmer, but there's nothing else I really need. Everything else is on my iPhone.
I have used Linux Desktops for about ~15years and involved in the Development community it astonished me how frequent the APIs break specially at Desktop Application/libraries level. I remember several libraries, like GTK+ deprecating often APIs even during stable releases. The consequence of this is that the main application developer spends a big part of its time constantly updating its application instead of developing new features and make it feature rich.
The same can be said in order parts of the Desktop like the transition from X11 to Wayland/Weston and all the Desktop Environments that some years ago fragmented and decreased their quality. Unity, KDE and GNOME all failed in producing a Desktop that really appealed to all users.
Finally for me another failure is the package management. For the App developer he needs to get his app packages for all major distributions and imagine the effort of the App developer and App maintainer to support different libc and userspace tool versions.
All in all the Application developer has such a huge burden that he is most of the time updating his app to new apis/tools than actually developing new features.
We had a chance to fix it in the new world, but it's gone back to a zeroinstall versus flatpak versus snap vs Deb vs rpm vs Pacman ecosystem.
Lets see if Docker CNAB and systemd push this ecosystem forward.
Reposting http://0pointer.net/blog/revisiting-how-we-put-together-linu...
Put another way, it’s no longer hard to design brautfinand consistent User interfaces but for some reason that’s never been possible on a Linux desktop.
Linux desktops have always had a sort of Frankenstein feeling to them, clearly made up of a hodgepodge of boys that just don’t quite fit together.
I respectfully disagree. Ubuntu really works well for a lot of non-technical folks. A few of my non-technical family members run Ubuntu variants and have remarked at how much better it is than their old Windows 10 install. I don't think they'll be going back.
Unless you've got strange hardware like a Mac, Linux for the most part "just works" these days.
The biggest barrier to desktop Linux for your average citizen is that the advantages of FOSS, stability, and cost just aren't enough against the disadvantages of Windows. If Microsoft started charging people $1500/year to run desktop Windows, you'd see a lot of people look for alternatives.
I've heard this before, but I never really understood why people think it. I've always had an interest in computers, but I think there's a huge jump in difficult and complexity from using a less popular operating system to creating your own software. I consider programming to be extremely difficult. Using GNU/Linux is just something new. Once you overcome the initial discomfort of it not being like whatever you're used to, it's just fine. It's fun, even.
I've been using unix and linux for about a quarter of a century. I cut my teeth on proper X Window terminals and Motif Window Manager (and NeXTSTEP and SGI IRIX workstations, etc, etc.) I was using firefox on linux before it was even named firefox. I've used a variety of desktop linux distros over the years, but I've never felt compelled to actually make the jump for good.
In theory I'm the perfect candidate for switching to a linux desktop but for me it's never been worth it. Yes, desktop linux can be a perfectly fine experience, but is it a superior experience? Every time I've made a serious effort to try out a desktop linux OS it's always felt like a bit of a downgrade. Not just because of all the stuff I miss out on like being able to run games and other software I like, but even well beyond that. Despite most desktop linux distros being pretty decently polished there are inevitably a few dozen little completely unfinished and often completely buggy or broken parts of the OS lurking around. It's like opening a door in a house and finding everything ripped down to the studs with an excitable nest of raccoons roosting where a bedroom should be.
The fact is, it's pretty common to have to do some rather serious "IT department self-service" when you try to use desktop linux, just in the course of dealing with ordinary trivial stuff like power management, connecting to wifi, watching video, etc. I remember the bad old days of X Window config nightmares: type in the correct horizontal sync frequency in kilohertz to avoid blowing up your monitor. Things are light-years better than those days but they still aren't at the "install off a usb drive and everything basic mostly works with at best some annoyances" level.
The value proposition of a linux desktop has to have a lot more to it than "you can have a kind of ok experience with it if you don't ask for too much" if it's going to get any sort of adoption. Especially in a world where the competition isn't just windows/macos computers but android/ios tablets and smartphones as well as chromebooks. Linux has such a compelling story in the server space, but people need to really stop pretending that they can just tweak that story a bit and push it into the desktop space, it still needs a ton more work to get there.
Rather than develop something good, the people who work on and evangelize the Linux Desktop would rather stick their fingers in their ears and pretend that everyone who doesn't use it is just too stupid to see how obviously superior it is.
Ubuntu tried for a while to lead their own efforts (MIR/Unity) and in the end, they pulled the plug and decided to just adopt Wayland/Gnome. Do people consider this a good change for the linux desktop landscape?
How would it change anything? Stock Ubuntu, Stock Fedora, Stock Red Hat, Suse Enterprise Linux at least all ship Gnome Shell as the default desktop. If the LF said "Gnome Shell is the default 'official' Linux desktop", what would change? I don't think Best Buy would immediately begin stocking Linux desktops.
As users tweak and change systems and software to meet their needs, a variety of options and choices become available. Each branch on the tree results in further fragmentation. For the standard user this is a bad thing as it means they can't just learn one widespread system. For users like me this is a boon, because it gives variety. If I don't like how Gnome works, I can use KDE, if I don't like APT I can use YUM. If I don't like SystemD, I can use another INIT system.
Who is Linux?
I feel like the Linux Foundation won't do much to dethrone Windows, with Microsoft as a platinum dollar bag on board.
I don't feel like Windows in its current state is a platform that I would recommend to anyone who uses computers as a professional.
So when I get to which platforms I support, if it's something personal for me, I only support Linux. If it's something that I plan to sell, I support Windows because that's where the money is, and Linux because, well, I've got this build sitting here, so I might as well throw it out as an experimental build (see Spotify, Unity, Reaper, etc...). Even if I'm developing a game that will rely on Windows specific APIs, I prefer to put those parts in last and do the majority of development on Linux.
The exception to that is if I know I'm going to be doing a lot of support. I feel like handling support for Linux users is worse than handling support for Windows users, and will often cost me more time and money in the long run.
So when I think about much bigger environments like Adobe, I'm sure they have Linux builds internally, because I just don't believe that their entire development staff would be content to use Windows. I would be willing to bet pretty heavily that there's a subset of Adobe engineers who have internal builds of Photoshop compiling on Linux.
But compiling Photoshop for Linux is not the only challenge to actually releasing it on Linux. Linux fragmentation means you never know when something is going to go terribly wrong because somebody swapped out a random part of the host OS. It means another testing environment, and another set of internal documents about production deployments.
I feel Linux is currently hands down the best engineering environment out there. But engineers don't handle support calls. So I would hazard that a lot more software is out there that could already run on Linux, but just hasn't been released.
Normally rogue installs aren't well seen from security point of view.
http://web.archive.org/web/20070830173313/https://cs.anu.edu...
I'm not alone in my desire to have things my way, and to meddle with everything. Every time someone rolls out a new distro, a new package manager, or just a new DE, Its because someone wasn't satisfied with following someone else's lead.
All of us, you, me, the author of that article, Linus, and Stallman, have one unifying trait: "Not satisfied with the menu".
Collectively, Linux is never going to be satisfied with any menu.
The linux community exists as a perpetual diaspora. It was born from people wandering away from fiat design. The vast disjointed ecosystem happened because of this adventuresome spirit, and its delusion to think that any sort of 'one size should fit all' paradigm is going to quell that.
Or that it could be enforced.
"The 1FUI will require the backing of a major vendor as champion and enforcer to succeed."
I don't know what that author thinks, fifteen years later. I'd tell him that "Fewer options is never a solution to people who went looking for more options".
The Linux community has spent 27 years persistently solving a problem: Not enough options. 'One Frickin User Interface' is like trying to make a river flow uphill.
A couple of data points to ponder.
I'm surprised though, that systemd was adopted unanimously almost immediately on every major distribution over classic Init despite lots criticism and protests. But they can't agree on which GUI is best for a Linux desktop? Why is that I wonder?
Maybe because"configuring" packages and services (main job of init system "users") is lot easier than writing gui applications. App developers use so many languages and frameworks (often with failing cross platforms abstractions) that it would be really hard to "force" them to use a common standard.
So it could be I ordered a Linux laptop from the wrong company. Of course, I won’t name names.
I was behind on my work, stressed out, and having trouble sleeping so I sent the laptop back and bought a MacBook.
So in thinking about it, if the laptop had been made of higher quality material and the track pad had worked well, I ay well have had a different experience. It also fell in a week where I head very limited time.
Every time this sort of thing comes up you get dozens of posts about how the "average user" wants this, or doesn't want that, or just uses the OS that came with their computer, or just wants it to be pretty, etc.
Consequently, they think putting lipstick on a pig will work and are really surprised when it doesn't.