6 ms·
Linux as the open-sourced work of brilliant software developers wouldn't power most servers if it sucked. But could designing good desktops need more than just
by blaze33 8y ago
Linux as the open-sourced work of brilliant software developers wouldn't power most servers if it sucked.
But could designing good desktops need more than just good code?
Good kernels successfully run code.
Good desktops successfully help users. I guess different goals require different designs?
Edit: to clarify, I didn't mean desktops don't require well designed software. Just had in mind that a desktop also have to take human psychology and human limitations into account.
- gmueckl 8y agoWait, you are confounding some things. A software design is good when it allows all of its parts to be elegant and meet the requirements. In no way does that say that a desktop OS is required to be designed badly. Linux is powering servers and high performance computing because it is good at these things: mostly static hardware configuration, set up once during system installation high performance, modularity and the ability to inspect a deeply running system of you are an expert. It ticks all the boxes for these specidic environments. On the desktop, not so much. For example, the concept of device files is hindering use cases that should "just work". When I plug in USB headphones, a new audio device is created. Fine. But I need to enter the device file name or ALSA device string onto half a dozen programs to use it. All I would want is to have the audio rerouted automatically. Pulseaudio was touted as the solution to that problem, but ar what cost? We're now literally stacking audio systems on top of audio systems and sacrifice to arcane gods to have it work. When I plug in a USB drive, I now have to look up its device file name in order to mount it manually. The software stack required to automount it from a desktop environment is atrociously complex, because it requires root privileges to mount a device not listed in /etc/fstab with a user flag. And because any number of drives can be connected in any possible order, no entries in fstab can be made. This clash of UNIX-like concepts and modern user expectations is what is holding Linux back. The underpinnings are not bad. They were just designed for a different task. So, yes, you can build a user friendly OS. Yes, it can have a clean design. But it won't be called Linux anymore.
- fatboy93 8y agoJust curious, but I had the same issues, turns our I didn't install gvfs and associated handlers for mounting unmounting drives. Turns out installing it resolved most of my USB connection issues
- gmueckl 8y agoI know that there are solutions (I use KDE, so it works differently there). The point I am trying to make is that UNIX device files were never designed to deal with the dynamic hardware configuration we see today, especially on laptops with periphery gerting plugged in and yanked periodically. And some of the solutions, like gvfs, are overly complex user space workarounds. A system that accounts for these dynamic usage patterns would have to look differently. But it does by no means have to be ugly code. In fact, it would probably be much simpler and more elegant than the current Linux desktop user space.
- koffiezet 8y ago> This clash of UNIX-like concepts and modern user expectations is what is holding Linux back. It did not stop OSX from achieving exactly what you're talking about, and if you look closely, its core is very explicit about its Unix underpinnings. In my opinion it's not a "Unix" problem, but a bazaar/scale problem. In the bazaar world, ideally multiple competing solutions would pop up, ideas would be merged and which one or a few would end up top. The problem is that to implement even a single a good desktop system - and I mean top to bottom, not just a DE - would require a staggering amount of resources under a single unified goal and vision. The Linux desktop market is simply not big enough to support even one, never mind multiple competing systems. In the server space, Linux is absolutely massive, and doesn't have this problem.
- hutzlibu 8y ago"Good kernels successfully run code. Good desktops successfully help users. I guess different goals require different designs?" A good desktop needs to run code successful, otherwise every small bug can make a big annoying glitch. I guess it is more a question of optimizing. The hardcore linux user uses the terminal and a text editor mainly and kind of despise GUIs. Linux seems to be optimized for them as they are the most active ones using it. And this use case works perfectly. GUIs are mostly a thing that was added because of the "newbs" but does not get used so much by the core - so they suck as the core group are the ones who know how to fix things. This was the situation when I started to explore the linux world and some things changed, but not much. But Linux main problems are hardware issues, which is partly because of linux enforced OpenSource nature which wants drivers to be opensource and included in the kernel. And traditional industry does not like that approach. And given the small marketshare of linux desktop ... they don't really have to.
- WallWextra 8y agoGood desktops need more than good kernel code.
- AnIdiotOnTheNet 8y ago> Good desktops successfully help users. I disagree with the phrasing. I'd say that good desktops enable users. One of my big peeves about Linux Desktop culture is that they see users as beneath them. They want to "help" users by wrapping them in straight jackets to keep them from hurting themselves and shining a laser pointer on the wall to entertain them. Have a problem with the Linux Desktop? Well, "normal users" don't do whatever it is you're trying to do, and you're not a C graybeard or you'd fix it yourself, so you don't exist according to their model of the universe.
- blaze33 8y agoSorry, I actually failed to find a better word than "help", I meant: to offer the best experience to its user. And we humans have wildly different skills and expectations. I still think that user-facing software design needs more psychology on top of good code.